gpt4 book ai didi

java - 从 Java (Apache HttpClient) 管理与 ASP.NET 站点的 session

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:20:21 24 4
gpt4 key购买 nike

我想从只能在 session 中访问的 ASP.NET 站点获取网页。我正在使用 Apache HttpClient。我首先打开站点的主页,然后搜索到“目标”页面的链接,然后我启动了“目标”页面的 GET 请求。问题是,当我收到第二个 GET 请求的响应时,我总是得到相同的(第一个)页面。如果我使用 Firefox 或 Google Chrome 打开网站,我会看到“目标”页面。

从服务器的第一个响应中,我得到以下 header :

HTTP/1.1 200 OK
Date: Sun, 12 Dec 2010 19:03:56 GMT
Server: Microsoft-IIS/6.0
Platform: Mobitel Pla.NET
Node: 4
X-Powered-By: ASP.NET
X-AspNet-Version: 1.1.4322
Set-Cookie: ASP.NET_SessionId=0vpgd055cifko3mnw4nkuimz; path=/
Cache-Control: no-cache, must-revalidate
Content-Type: text/html; charset=utf-8
Content-Length: 7032

我用 WireShark 检查了流量,所有 header 看起来都正常。我在第二次 GET 请求时将正确的 cookie 发送回服务器。

我正在使用 Apache HttpClient。我只有一个 DefaultHttpClient 实例,我将它重新用于第二个请求。我有 BROWSER_COMPATIBILITY Cookie 政策。

有什么想法吗?

最佳答案

您需要在所有进一步的请求中从客户端发回此 header (发回您收到的 cookie):

Cookie: ASP.NET_SessionId=0vpgd055cifko3mnw4nkuimz; // and all other cookies

这应该可以解决问题

关于java - 从 Java (Apache HttpClient) 管理与 ASP.NET 站点的 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4428716/

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