我的 C# Windows 窗体程序需要与Set-Cookie
在 HTTP 响应中包含多个标头的服务器通信。
.NETHttpWebResponse
似乎将多个Set-Cookie
标头的内容连接成一个值 - 使最终值无效。这会导致在使用关联的CookieContainer
.
例子
HttpWebRequest
发起请求,服务器回复...
HTTP/1.1 200 OK
....
Set-Cookie: cookie1=123; Domain=127.0.0.1; Path=/; Expires=Wed, 13 Jan 2021 22:23:01 GMT
Set-Cookie: cookie2=456; Domain=127.0.0.1; Path=/somepath; Expires=Wed, 13 Jan 2021 22:23:01 GMT
....
...andHttpWebResponse
的标头值(从 VS Debugger 复制)是:
Set-Cookie: cookie1=123; Domain=127.0.0.1; Path=/; Expires=Wed, 13 Jan 2021 22:23:01 GMT,cookie2=456; Domain=127.0.0.1; Path=/somepath; Expires=Wed, 13 Jan 2021 22:23:01 GMT
HttpWebResponse
仅包含cookie1
inCookies
属性。
.NET Reflection on the original HttpWebRequest
's CookieContainer
to get all cookies ( https://stackoverflow.com/a/15991071 ) 也显示仅cookie1
被解析为对象并被cookie2
忽略。
Set-Cookie
有没有办法在不诉诸(显着)较低级别或更复杂的替代方案的情况下正确处理多个标题HttpWebResponse
?