向 HttpURLConnection 请求添加标头
尝试向 HttpURLConnection 请求添加标头时,您可能会遇到服务器无法确认的情况标头信息。如果使用 setRequestProperty() 设置请求属性无法解决问题,请考虑以下解决方案:
解决方案:
要确保标头设置正确,请尝试执行以下步骤:
创建 HttpURLConnection 的新实例:
URL myURL = new URL(serviceURL); HttpURLConnection myURLConnection = (HttpURLConnection)myURL.openConnection();
准备标头值:
String userCredentials = "username:password"; String basicAuth = "Basic " + new String(Base64.getEncoder().encode(userCredentials.getBytes()));
设置“授权”标头:
myURLConnection.setRequestProperty ("Authorization", basicAuth);
配置连接:
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中文网其他相关文章!