我的 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仅包含cookie1inCookies属性。
.NET Reflection on the original HttpWebRequest's CookieContainerto get all cookies ( https://stackoverflow.com/a/15991071 ) 也显示仅cookie1被解析为对象并被cookie2忽略。
Set-Cookie有没有办法在不诉诸(显着)较低级别或更复杂的替代方案的情况下正确处理多个标题HttpWebResponse?