当前位置: 首页 > 编程语言 > C#

如何解析HttpWebResponse.Headers.Keys返回的Set-Cookie会话ID分享

时间:2023-04-10 22:13:18 C#

如何解析HttpWebResponse.Headers.Keys返回的Set-Cookie会话ID使用ASP.NET网站,以便稍后通过url参数解析HTML表单(这部分我知道该怎么做),但我不明白如何解析和设置会话ID等cookie。在Fiddler中,它显示ASP.NET会话ID是通过Set-Cookie在对URL的/path请求的响应中返回的,但是我如何提取此会话ID并将其设置为下一个HttpWebRequest的cookie?我知道这个Set-Cookie标头可以在HttpWebResponse.Headers.Keys中找到,但是是否有解析它的直接路径?谢谢!.NET框架将为您管理cookie。您不必担心从标头中解析cookie信息或向请求添加cookie标头。要存储和发送会话ID,请使用Cookie和CookieContainer类来存储它们,然后确保在每次请求时都发送cookie。以下示例显示了如何执行此操作。CookieContainer,'cookieJar'可以跨多个域和请求共享。将其添加到请求对象后,当返回响应时,对它的引用也会添加到响应对象。CookieContainercookieJar=newCookieContainer();varrequest=(HttpWebRequest)HttpWebRequest.Create("http://www.google.com");request.CookieContainer=cookieJar;varresponse=request.GetResponse();foreach(cookiecincookieJar.GetCookies(request.RequestUri)){Console.WriteLine("Cookie['"+c.Name+"']:"+c.Value);这段代码的输出将是:Cookie['PREF']:ID=59e9a22a8cac2435:TM=1246226400:LM=1246226400:S=tvWTnbBhK4N7TlpuDanHerbert的回答对我帮助很大。我感谢您的帮助。只是想发布我的用法-希望它能在某个时间点帮助某人。我的要求是我需要从第一个httppost回复发回cookie到第二个httppost请求。第一个:CookieContainercookieJar=newCookieContainer();request.CookieContainer=cookieJar;....CookieCollectionsetCookies=cookieJar.GetCookies(request.RequestUri);第二:CookieContainercc=newCookieContainer();cc.Add(setCookies);request.CookieContainer=cc;我遇到了同样的问题(与亚马逊)我使用了以下正则表达式:stringregexp="(?[^=]+)=(?[^;]+)[^,]+,?";;;);MatchCollectionmyMatchCollection=Regex.Matches(cookiesStr,regexp);foreach(在myMatchCollection中匹配myMatch){stringcookieName=myMatch.Groups["name"]。字符串();字符串cookieVal=myMatch。组[“val”]。字符串();CookieCookie=newCookie(cookieName,cookieVal);cookies.Add(cookies);请注意,我只关心cookie名称/值...祝你好运Eliaheck我可能是错的,但最近我观察到的第一个响应中的Cookies,在302(重定向)状态的情况下,不包括包含在headers(比如一些sessionid...)如果autofollowredirect设置为true,则设置cookie被处理,随后的自动完成请求将包括第一次调用时setcookie定义的cookie如果autofollowredirect设置为false,那么第一个请求将没有得到setcookie定位的cookie,我想这也是我的任务,如果有人有任何想法,那么在下一个请求中获得这些cookie的唯一方法是解析设置的cookie?以上就是C#学习教程:如何解析HttpWebResponse.Headers.Keys返回的Set-CookiesessionID共享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注——本文来自网络收藏,不代表立场,如涉及侵权,请点击有权联系管理员删除。如需转载请注明出处: