通过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的值")??我怎么知道Cookie的值啊?
2、cookieString 怎么来的啊?
补充:.NET技术 , ASP.NET