gpt4 book ai didi

java - 具有基本身份验证长密码的 httpurlconnection

转载 作者:太空宇宙 更新时间:2023-11-03 16:34:20 27 4
gpt4 key购买 nike

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

示例代码如下:

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");

我们尝试使用

     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 提供)也无法正常工作。

提前致谢。

最佳答案

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

如果我使用下面的代码,它工作正常

    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);

关于java - 具有基本身份验证长密码的 httpurlconnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17575497/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com