我正在尝试在使用 HttpUrlConnection 时设置“授权”标头,但我在服务器上将其视为“HTTP_AUTHORIZATION”。
这是我的代码:
public static String doGet(String params, String accessToken)
throws MHNetworkException {
try {
URL url = new URL(getServerUrl());
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization", "Token token="
+ accessToken);
conn.setRequestMethod("GET");
int httpStatus = conn.getResponseCode();
Log.v(tag, "httpStatus " + httpStatus);
if (httpStatus == 200) {
return MHIOUtil.getInputStreamAsString(conn.getInputStream());
}
} catch (MalformedURLException me) {
} catch (IOException ioe) {
}
}
顺便说一句,“Content-Type”标头也被更改为 CONTENT_TYPE。
为什么 Android 发送更改它,有什么方法可以让我完全按照我想要的方式发送它。还是我在这里做错了什么?如果这很重要,我们会在后端使用 nginx 和 Rails。
请不要推荐使用 HttpClient。我只想使用 HttpURLConnection,如果我可以让它工作,因为谷歌的 Android 开发人员说他们将把所有的努力都放在 HttpURLConnection 上。
谢谢你。