首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用基本身份验证长密码的passwords连接

使用基本身份验证长密码的passwords连接
EN

Stack Overflow用户
提问于 2013-07-11 00:01:16
回答 3查看 570关注 0票数 0

当我们有很长的密码时,我们在HttpURLConnection +基本身份验证方面遇到了问题。

以下是示例代码:

代码语言:javascript
复制
URL url = new URL("http://localhost/data.json");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setRequestMethod(method);

String authString = clientId + ":" + clientSecret;
BASE64Encoder encoder = new BASE64Encoder();


String authHeader = encoder.encode(authString.getBytes()); 
conn.setRequestProperty("Authorization", authHeader);
conn.setRequestProperty("Accept", "application/json");

我们试着用

代码语言:javascript
复制
     String authString = clientId + ":" + clientSecret;
authString = "" + javax.xml.bind.DatatypeConverter.printBase64Binary(authString.getBytes());

但在这方面不走运。

具有基本身份验证的HttpURLConnection与一定长度的密码工作良好,但使用过长的密码我们有问题。返回的错误码是400

注意:这与使用Paypal集成https://developer.paypal.com/webapps/developer/docs/integration/direct/log-in-with-paypal/detailed/#making-first-call登录相关

我们的示例代码(由PayPal提供)也不起作用。

提前谢谢你。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-22 14:26:15

我遇到的问题是由于用户名和密码太长。

如果我使用下面的代码,它工作得很好

代码语言:javascript
复制
    byte[] encodedBytes = org.apache.commons.codec.binary.Base64.encodeBase64(passwordString.getBytes("UTF-8"));
    String encodedString = new String(encoded, "UTF-8");

headers.put("Authorization","Basic“+ encodedString);

票数 1
EN

Stack Overflow用户

发布于 2013-07-11 00:06:37

试着发布一个帖子。

如果你在本地服务器上测试,确保它在最大URL大小、最大参数长度、最大POST头大小等方面没有任何限制。请查看服务器端日志。

这可能不是问题所在,但这条语句"authString.getBytes()“中可能存在错误。您将字符串转换为基于系统默认编码的字节,该编码取决于JVM/OS/Locale--您应该将显式编码传递给getBytes()。

票数 0
EN

Stack Overflow用户

发布于 2013-07-11 00:20:36

您应该检查成功的身份验证,即。其中web浏览器具有请求检查器(即,chrome)或仅使用wireshark。

因此,您可以看到发送到服务器的请求消息的类型。

从这一点开始,您可以检查您的代码是否提供了相同类型的请求,如果它们不相同,您至少可以找到错误所在。

尽管对于基本身份验证长度没有规范强制限制,但仍然存在一些与平台相关的限制,如下所示:Is there a practical HTTP Header length limit?

希望你觉得它有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17575497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档