我有一个类,其中包含许多方法,这些方法可以共享不同的HTTP请求。因此,我想有一个方法,添加公共标头,以避免重复的代码。以下是我尝试使用的方法示例:
public static HttpURLConnection getConnection(String url, String authorization) {
HttpURLConnection connection = null;
try {
connection = (HttpURLConnection) new URL(url).openConnection();
} catch (IOException e) {
e.printStackTrace();
}
connection.addRequestProperty(AUTHORIZATION, authorization);
return connection;
}
如果我按如下方式使用此方法:
connection = getConnection(url, authorization);
它不起作用并提供响应代码500(内部服务器错误)。
但是,如果我不使用像这样的getConnection()方法添加标题:
connection = (HttpURLConnection) new URL(url).openConnection();
connection.addRequestProperty(AUTHORIZATION, authorization);
它工作并给出响应代码200(OK)。
它在第一个示例中给出了响应,因此问题必须是未添加标头。我认为这可能与对象范围有关,但是有一个对象的引用,所以我不明白为什么会这样。
为什么会发生这种情况,我该如何解决?