我有下一部分代码:
dCon = (HttpURLConnection) new URL(torrentFileDownloadLink).openConnection();
dCon.setRequestProperty("Cookie", "uid=" + cookies.get("uid") + ";pass=" + cookies.get("pass"));
dCon.setRequestMethod("GET");
dCon.setConnectTimeout(30000);
dCon.setDoOutput(true);
但Wireshark显示请求方法是“POST”。我做错了什么或者这只是一个错误?顺便说一下,getRequestMethod说方法是“GET”,但实际上它是POST。
答案 0 :(得分:11)
将URLConnection#setDoOutput()
设置为true
意味着您即将通过URLConnection#getOutputStream()
将请求数据写入请求正文。这与GET(需要请求URL中的请求参数)结合使用是不可能的,因此请求方法将隐式设置为POST。
如果您不需要向请求正文写入任何数据,那么只需删除该行即可。无论如何,它默认为false
(因此也是GET)。