转载

.net 模拟登陆 post https 请求跳转页面

AllowAutoRedirect property is true , the Referer property is set automatically when the request is redirected to another site.">如果 AllowAutoRedirect 属性为 true ,则 Referer 属性在请求被重定向到另一个站点时自动设置。

Referer HTTP header, set the Referer property to null .">若要清除 Referer HTTP 标头,请将 Referer 属性设置为 null
如果设置了  Referer 则 指定到某个站点. 被这东西小坑了一下 涨姿势。

private bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)   {    return true; //总是接受安全证书   }   private void test()    {    ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);    CookieCollection _cookies = null; //后续使用    var addRess = "https://xxxxxxxxxx";    var data = "account=xxxxxxx&password=xxxxx";    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(addRess);    request.CookieContainer = new CookieContainer();    request.Timeout = 1000 * 60;    request.Method = "POST";       request.ContentType = "application/x-www-form-urlencoded";    request.AllowAutoRedirect = true;    request.Referer = addRess;    byte[] bs = Encoding.UTF8.GetBytes(data);    HttpWebResponse response = null;    StreamReader myStreamReader = null;    Stream myRequestStream = null;    request.ContentLength = bs.Length;    string retString = string.Empty;    try    {     using (myRequestStream = request.GetRequestStream())     {      myRequestStream.Write(bs, 0, bs.Length);      myRequestStream.Close();     }     response = (HttpWebResponse)request.GetResponse();     _cookies = response.Cookies;     using (Stream myResponseStream = response.GetResponseStream())     {      using (myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("BIG5")))      {       retString = myStreamReader.ReadToEnd();      }     }    }    catch (Exception)    {     throw;    }    finally    {     if (myRequestStream != null)     {      myRequestStream.Close();     }     if (response != null)     {      response.Close();     }     if (myStreamReader != null)     {      myStreamReader.Close();     }    }   } 
正文到此结束
Loading...