HTTP basic user authentication : “Authorization” header not accepted (case-sensitive)
我正在使用HTTP头基本身份验证向服务器发送用户名和密码:
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | List<String> as = new ArrayList<String>(); HttpTransportProperties.Authenticator basicAuth = new HttpTransportProperties.Authenticator(); as.add(Authenticator.BASIC); basicAuth.setAuthSchemes(as); basicAuth.setUsername("ABC"); basicAuth.setPassword("password"); basicAuth.setPreemptiveAuthentication(true); serviceStub._getServiceClient().getOptions().setProperty( org.apache.axis2.transport.http.HTTPConstants.AUTHENTICATE, basicAuthenticator); |
我正在使用Tomcat6作为服务器。
在catalina.log文件中,我可以看到以下内容:
header=authorization=Basic U2hyZXlhczpwYXNzd29yZA==
号
我期待"授权"作为"授权",即授权中的大写字母"A"。
我查了很多现有的帖子,但找不到答案。
你能建议一下如何达到上述效果吗?
提前谢谢
HTTP头字段名作为授权,不区分大小写
From RFC 2616 -"Hypertext Transfer Protocol -- HTTP/1.1", Section 4.2,"Message Headers":
Each header field consists of a name followed by a colon (":") and the field value. Field names are case-insensitive.
号
所以情况不重要
编辑添加新的HTTP/1.1文档以供参考