我在android studio中查看了URLConnection.setRequestProperty()
的源代码,但似乎没有设置任何内容:
public void setRequestProperty(String field, String newValue) {
checkNotConnected();
if (field == null) {
throw new NullPointerException("field == null");
}
}
这是checkNotConnected():
private void checkNotConnected() {
if (connected) {
throw new IllegalStateException("Already connected");
}
}
我在这里想念什么?
HttpURLConnection
“扩展类”没有setRequestProperty()
的实现,因此似乎该方法完全不起作用。 最佳答案
URLConnection是不实现任何特定协议的抽象基类。
您正在寻找HttpURLConnection。 URLConnection
类的此实现重写并在功能上实现与HTTP协议一起使用的setRequestProperty()
方法。
更新
经过仔细检查,我发现HttpURLConnection
也是一个抽象类。在Android Studio中,可以通过右键单击类声明,然后单击转到->实现来找到任何实现。
但是,我怀疑实际的具体实现是否与我们使用的SDK一起提供。我只找到了Java特定的实现(rt.jar)。
这可能意味着setRequestProperty()
的实际实现未包含在SDK中。