如何在Java中的post请求中添加cookie?

时间:2011-04-30 22:15:52

标签: java http cookies post

我试图通过java获取某个页面,但是这个页面我没有成功。 现在在我的浏览器中它确实有效,但是当我在设置中禁用Cookies时,它就不再存在了 所以我可能需要在java中为我的帖子请求添加cookie。

所以我去搜索互联网,但不幸的是我找不到任何有用的东西。主要是模糊,分散或无关紧要。

所以现在我的问题:
谁能告诉我怎么做(上面提到^^),还是指向一个清晰的网站?

2 个答案:

答案 0 :(得分:12)

以下是使用URLConnection在POST请求中设置Cookie的简单示例:

URL url = new URL("http://example.com/");
String postData = "foo bar baz";

URLConnection con = url.openConnection();
con.setDoOutput(true);
con.setRequestProperty("Cookie", "name=value");
con.setRequestProperty("Content-Type", "text/plain; charset=utf-8");
con.connect();

OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream(), "UTF-8");
out.write(postData);
out.close();

您可能需要传递先前请求中的Cookie,有关示例,请参阅this answer。另外,请考虑使用Apache HttpClient来简化操作。

答案 1 :(得分:0)

URL url = new URL("http://hostname:80");
URLConnection conn = url.openConnection();

conn.setRequestProperty("Cookie", "name1=value1; name2=value2");

conn.connect();