gpt4 book ai didi

java - 如何使用 HttpClient 获取 Cookie

转载 作者:行者123 更新时间:2023-11-29 09:25:30 30 4
gpt4 key购买 nike

您好,我正在使用 HttpClient 获取 Cookie,但找不到任何 Cookie。我的代码如下:

public class LoginTab {

private Cookie[] cookies;
HttpClient httpClient;
HttpState httpState;
HashMap postData;

public LoginTab() {
httpClient = new HttpClient();
httpState = new HttpState();
httpClient.getHttpConnectionManager().
getParams().setConnectionTimeout(300000);
httpClient.setState(httpState);
// RFC 2101 cookie management spec is used per default
// to parse, validate, format & match cookies
httpClient.getParams().setCookiePolicy(CookiePolicy.RFC_2109);
postData= new HashMap();
}

public String getMethod(String url) {
GetMethod getMethod = new GetMethod(url);
String pageSoure="";
try{
httpClient.executeMethod(getMethod);
pageSoure=getMethod.getResponseBodyAsString();
extractUsefulPostData(pageSoure, postData);
getMethod.releaseConnection();
}catch(Exception ex)
{
ex.printStackTrace();
}
return pageSoure;
}
public static void main(String[]arg)
{
LoginTab loginTab= new LoginTab();
System.out.println(loginTab.getMethod("http://tab.com.au/"));
Cookie [] cookies=loginTab.httpState.getCookies();
System.out.println(cookies.length);
for(int i=0;i<cookies.length;i++)
System.out.println(cookies[i]);
}
}

请告诉我我犯了一个错误。提前致谢

最佳答案

我已经尝试了所有可用的 CookiePolicy 并且还设置了“用户代理”内容但没有成功。从我对 java 的观察来看 - 冗长在 getCookie() 方法中有一个被捕获的异常引发:

org.apache.commons.httpclient.util.DateParseException

可能是从站点接收到的 cookie(我可以在 firefox 上使用 Cookie 编辑器看到它)对 httpclient 有一些不好的东西;看看this线程相同的问题。
据我所知,您需要启用日志记录并检查 httpclient 在 cookie 解析上做了什么。

关于java - 如何使用 HttpClient 获取 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2545049/

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