gpt4 book ai didi

Java HttpURLConnection 没有 cookies

转载 作者:太空宇宙 更新时间:2023-11-04 07:53:53 25 4
gpt4 key购买 nike

英语:

您好,我目前正在尝试使用 HttpURLConnection 进行登录,然后获取 session 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 + "\"");

最佳答案

我发现您没有获得 cookie 的原因有以下几种可能。

  • 服务器根本不发送 cookie
  • 服务器不使用值 PASS 和 USER
  • 服务器希望在登录前进行 session 。
  • POST 协议(protocol)错误或不完整
  • 服务器期望通过 GET 获取参数

关于Java HttpURLConnection 没有 cookies,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13918223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com