当前位置:编程学习 > C#/ASP.NET >>

通过HttpWebRequest访问某网页,该网页无法访问cookie,怎么回事?

在A网站,有一个aspx网页,里面代码需要读取cookie,然后返回其中的值。
在B网站,有一个网页,通过HttpWebRequest去访问A网站的这个aspx网页,然后获得这个cookie的值。

代码主体如下:
A网站 gettoken.aspx

 Dim tokenCookie As HttpCookie = Context.Request.Cookies("token")
 Dim res As String
 If tokenCookie Is Nothing Then
     res = "未找到令牌!"
 Else
     res = tokenCookie.Item("TokenValue")
 End If
 Response.Write(res)

B网站 xxx.aspx
  Dim myReq As Net.HttpWebRequest = Net.WebRequest.Create("http://A/gettoken.aspx")
  myReq.CookieContainer = New Net.CookieContainer '这行加不加都没有用
  Dim myResp As Net.HttpWebResponse = myReq.GetResponse()
  Dim s As IO.Stream = myResp.GetResponseStream()
  Dim sr As New IO.StreamReader(s, Encoding.UTF8)
  Dim res As String = sr.ReadToEnd  '返回我想要的值
  sr.Close()
  myResp.Close()
  Response.Write(res)  '输出token值

问题特征是:B网站通过xxx.aspx访问A网站的网页,永远都是返回“未找到令牌!”。但是通过浏览器访问,则是有返回值的。我测来测去,认为问题就出在:通过HttpWebRequest的请求,未附上cookie,所以A网站的Context.Request.Cookies("token")是读不到的。这个问题怎么解决?是不是应该在CookieContainer上Add什么cookie?应该怎么做? --------------------编程问答-------------------- HttpWebRequest.Headers.Add("Cookie", "Cookie的值");

------------------------------------------------------------------

string[] cookies = cookieString.Split(";".ToCharArray());
CookieContainer cc = new CookieContainer();
foreach (string cookie in cookies)
{
    cc.SetCookies(new Uri("http://domain.com/"), cookie);
}
HttpWebRequest.CookieContainer = cc; --------------------编程问答--------------------
引用 1 楼  的回复:
HttpWebRequest.Headers.Add("Cookie", "Cookie的值");

------------------------------------------------------------------

string[] cookies = cookieString.Split(";".ToCharArray());
CookieContainer c……


1、HttpWebRequest.Headers.Add("Cookie", "Cookie的值")??我怎么知道Cookie的值啊?
2、cookieString  怎么来的啊?
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,