gpt4 book ai didi

java - 为什么 HttpClient 不发送我的 Cookie?

转载 作者:搜寻专家 更新时间:2023-11-01 01:38:11 24 4
gpt4 key购买 nike

我在 Java 中使用 Apache HttpClient 4。
为什么 HttpClient 不将“request”响应设置的 Cookie 发送给 post1?

public static void goDoIt() throws ClientProtocolException, IOException {

HttpClient client = new DefaultHttpClient();
//for use with Fiddler2
HttpHost proxy = new HttpHost("127.0.0.1", 8888);
client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
//stores all cookies automatically (should sent them too(?))
CookieStore cookieStore = new BasicCookieStore();
HttpContext localContext = new BasicHttpContext();
localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);

HttpGet request = new HttpGet("http://www.websitename.de");
request.addHeader("Host", "hosthost.de");
request.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1");

//required to fetch Cookie 1, stored automatically
HttpResponse response1 = client.execute(request, localContext);
request.abort();

// parameters and headers
List<NameValuePair> parameters1 = new ArrayList<NameValuePair>();
parameters1.add(new BasicNameValuePair("username", "karl"));
parameters1.add(new BasicNameValuePair("age", "23"));
parameters1.add(new BasicNameValuePair("button","button"));

HttpPost post1 = new HttpPost("http://websitename.de/Default.aspx");

post1.addHeader("Host","hosthost.de");
post1.addHeader("User-Agent",
"Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1");
post1.addHeader("Referer","http://websitename.de/Default.aspx");

UrlEncodedFormEntity entity1 = new UrlEncodedFormEntity(parameters1);
post1.setEntity(entity1);


// execute and print
HttpResponse response2 = client.execute(post1,localContext);
HttpEntity entity2 = response2.getEntity(); //fiddler doesn't show that the cookie is being sent !

System.out.println(EntityUtils.toString(entity2));
}

我使用 Fiddler2 查看流量,当我将我的代码中的帖子与 Firefox 中的帖子进行比较时,我没有发现任何差异,只是我的代码不发送 cookie。

最佳答案

因为您正在从 http://www.websitename.de 获取 cookie , 但尝试访问 http://websitename.de稍后的。这不是同一个主机名。

关于java - 为什么 HttpClient 不发送我的 Cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6005254/

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