Java:setRequestMethod不起作用

时间:2011-04-07 01:49:51

标签: java http url methods request

我有下一部分代码:

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。

1 个答案:

答案 0 :(得分:11)

URLConnection#setDoOutput()设置为true意味着您即将通过URLConnection#getOutputStream()将请求数据写入请求正文。这与GET(需要请求URL中的请求参数)结合使用是不可能的,因此请求方法将隐式设置为POST。

如果您不需要向请求正文写入任何数据,那么只需删除该行即可。无论如何,它默认为false(因此也是GET)。

另见: