【发布时间】:2015-03-03 04:28:58
【问题描述】:
我的软件中有一个错误,因为 C# HttpWebRequest 仅将域的 cookie 用于直接文件。
例如:
值为test 的Cookie XYZ 具有路径/index.html 和域127.0.0.1。
例如,我想将此 cookie 与路径 / 一起使用。
我该怎么做?
当前方法:
CookieContainer cc = new CookieContainer();
HttpWebRequest request = WebRequest.Create("http://127.0.0.1/index.html") as HttpWebRequest;
request.CookieContainer = cc;
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
StreamReader sr = new StreamReader(response.GetResponseStream());
MessageBox.Show(sr.ReadToEnd());
sr.Close();
response.Close();
// No cookies would be sent!
request = WebRequest.Create("http://127.0.0.1/informations.html") as HttpWebRequest;
request.CookieContainer = cc; // cc contains a cookie with path `/index.html` which wouldnt sent to informations.html
response = request.GetResponse() as HttpWebResponse;
sr = new StreamReader(response.GetResponseStream());
MessageBox.Show(sr.ReadToEnd());
sr.Close();
response.Close();
提前致谢!
【问题讨论】:
-
更改 cookie 路径取决于网站/服务器软件。向我们展示一些有关如何设置 cookie 的代码。
-
嗯,这不是我的软件。这是一个我没有源代码的软件。 (使用 IonCube 加密)如果没有解决方案,我手动读取 cookie 并再次手动设置它们... :( FireFox 或 Internet Explorer 将 cookie 保存到正确的路径。
标签: c# cookies httpwebrequest session-cookies httpwebresponse