原因是有个值是在响应头中set-cookie中取来的 但是本人写的代码,响应中cooikes的个数为0 这哪里错了 大家帮帮忙
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.IO; namespace asd { class Program { public static CookieCollection GetCooKie(string loginUrl) { HttpWebRequest request = null; HttpWebResponse response = null; try { request = (HttpWebRequest)WebRequest.Create(loginUrl); request.Method = "GET"; request.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)"; request.Accept = "text/html, application/xhtml+xml, */*"; response = (HttpWebResponse)request.GetResponse(); return response.Cookies; } catch (Exception ex) { throw ex; } } static void Main(string[] args) { CookieCollection c = GetCooKie("http://www.zjhpyy.com/login.jhtml"); for (int i = 0; i < c.Count;i++ ) { Cookie cc = c[i]; } } } }
解决方案
40
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { var request = (HttpWebRequest)WebRequest.Create("http://www.baidu.com"); request.CookieContainer = new CookieContainer(); //注意这句 request.Method = "GET"; request.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)"; request.Accept = "text/html, application/xhtml+xml, */*"; var response = (HttpWebResponse)request.GetResponse(); foreach (Cookie cookie in response.Cookies) { Console.WriteLine("{0}: {1}", cookie.Name, cookie.Value); } Console.ReadLine(); } } }