2011-04-30 128 views
3

我试图通过java获得某个页面,但是通过这个页面我没有成功。 现在在我的浏览器中它确实有效,但是当我在设置中禁用Cookies时,它不再有效。
所以我可能需要添加cookie到我在java中的发布请求。如何在Java中的发布请求中添加cookie?

所以我去搜索interwebs,但不幸的是我找不到任何有用的东西。大部分是模糊的,分散的或不相关的。

所以,现在我的问题:
任何人都可以告诉我如何做到这一点(上面提到的^^),或指向我一个明确的网站?

+0

你可以发布你的java代码请 – 2011-04-30 22:17:56

回答

11

下面是设置在POST请求一个cookie与URLConnection的一个简单的例子:

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使事情更容易。