2012-12-17 53 views
1

英语:Java的HttpURLConnection类没有饼干

您好,我目前正在试图做一个登录与HttpURLConnection的,然后得到会话cookie ...

我已经尝试过,对我自己的一些测试页面服务器,并且完美地工作。当我发送“a = 3 & b = 5”时,我得到“8”作为cookie(PHP页面将两者加在一起)! 但是当我尝试,在其他页面,输出的是刚刚页面,如果我只是发送自认倒霉POST :(

改进之处提出建议,欢迎:)

我的代码:

HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); 
conn.setDoInput(true); 
conn.setDoOutput(true); 
conn.setRequestMethod("POST"); 
conn.setRequestProperty("useragent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0"); 
conn.setRequestProperty("Connection", "keep-alive"); 
DataOutputStream out = new DataOutputStream(conn.getOutputStream()); 
out.writeBytes("USER=tennox&PASS=*****"); 
out.close(); 

BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); 
String line; 
String response = new String(); 
while ((line = in.readLine()) != null) { 
    response = response + line + "\n"; 
} 
in.close(); 

System.out.println("headers:"); 
int i = 0; 
String header; 
while ((header = conn.getHeaderField(i)) != null) { 
    String key = conn.getHeaderFieldKey(i); 
    System.out.println(((key == null) ? "" : key + ": ") + header); 
    i++; 
} 
String cookies = conn.getHeaderField("Set-Cookie"); 
System.out.println("\nCookies: \"" + cookies + "\""); 
+0

ICH denke票数solltest都死Fragen奥夫englisch stellen –

+0

@stefanbachert这是正确的,感谢:P – TeNNoX

回答

1

我看到以下可能性,为什么你没有得到一个cookie。

  • 服务器完全不
  • 服务器不使用的值传递和用户
  • 服务器要具有登录之前会话发送cookie。
  • POST协议是错误或不完整
  • 服务器预计在参数GET
+0

1.在哪里,他们都来自再,谁在“Set-Cookie”标题中创建cookie? 2.这个网站有一个

这些名字 3.我从哪里得到? 4.请注明... 5.我会尝试:)(编辑:不起作用) 谢谢:) – TeNNoX

+0

我试图用英语来形容我的问题,希望你明白,更好的:) – TeNNoX