首页  >  文章  >  Java  >  为什么我的 HttpURLConnection 请求中的标头未被识别?

为什么我的 HttpURLConnection 请求中的标头未被识别?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-09 01:22:02867浏览

Why are Headers Not Being Recognized in My HttpURLConnection Requests?

向 HttpURLConnection 请求添加标头

尝试向 HttpURLConnection 请求添加标头时,您可能会遇到服务器无法确认的情况标头信息。如果使用 setRequestProperty() 设置请求属性无法解决问题,请考虑以下解决方案:

解决方案:

要确保标头设置正确,请尝试执行以下步骤:

  1. 创建 HttpURLConnection 的新实例:

    URL myURL = new URL(serviceURL);
    HttpURLConnection myURLConnection = (HttpURLConnection)myURL.openConnection();
  2. 准备标头值:

    String userCredentials = "username:password";
    String basicAuth = "Basic " + new String(Base64.getEncoder().encode(userCredentials.getBytes()));
  3. 设置“授权”标头:

    myURLConnection.setRequestProperty ("Authorization", basicAuth);
  4. 配置连接:

    myURLConnection.setRequestMethod("POST"); // Assuming a POST request
    myURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
    myURLConnection.setRequestProperty("Content-Length", "" + postData.getBytes().length);
    myURLConnection.setRequestProperty("Content-Language", "en-US");
    myURLConnection.setUseCaches(false);
    myURLConnection.setDoInput(true);
    myURLConnection.setDoOutput(true);

此修改方法应确保“Authorization”标头正确添加到请求中并应由服务器接收。

以上是为什么我的 HttpURLConnection 请求中的标头未被识别?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn