我试图通过java获取某个页面,但是这个页面我没有成功。 现在在我的浏览器中它确实有效,但是当我在设置中禁用Cookies时,它就不再存在了 所以我可能需要在java中为我的帖子请求添加cookie。
所以我去搜索互联网,但不幸的是我找不到任何有用的东西。主要是模糊,分散或无关紧要。
所以现在我的问题:
谁能告诉我怎么做(上面提到^^),还是指向一个清晰的网站?
答案 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();