zoukankan      html  css  js  c++  java
  • HttpWebRequest和HttpWebRespone的常用方法总结

    一.访问 无验证,无登陆的URL

    View Code
    1  HttpWebRequest request = WebRequest.Create(resquestUrl) as HttpWebRequest;
    2                 request.Method = "get";
    3                 //request.Method = "post";
    4                 HttpWebResponse response = request.GetResponse() as HttpWebResponse;
    5                 StreamReader sr = new StreamReader(response.GetResponseStream());
    6                 string returnContent = sr.ReadToEnd();
    7                 sr.Close();
    8                 response.Close();

    二.访问有证书的URL

    View Code
     1 //证书验证通过。
     2             ServicePointManager.ServerCertificateValidationCallback =
     3             new System.Net.Security.RemoteCertificateValidationCallback(true);
     4             // 与指定URL创建HTTP请求
     5             HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
     6             request.Method = "post";
     7             //request.Method = "get";
     8             request.Accept = "text/html, application/xhtml+xml, */*";
     9             request.ContentType = "application/x-www-form-urlencoded";
    10             //创建证书文件
    11             X509Certificate objx509 = new X509Certificate(Application.StartupPath + "\\证书文件相对文件位置");
    12             //添加相关证书到请求里
    13             request.ClientCertificates.Add(objx509);
    14             // 获取对应HTTP请求的响应
    15             HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    16             // 获取响应流
    17             Stream responseStream = response.GetResponseStream();
    18             // 对接响应流(以"GBK"字符集)
    19             StreamReader sReader = new StreamReader(responseStream, Encoding.GetEncoding("utf-8"));
    20             string RequestResult = sReader.ReadToEnd();
    21             sReader.Close();
    22             response.Close();

    三.访问 需要登录的URL

    需要登录的URL从cookie里面去的session,在请求的时候,连带cookie信息一起发送过去即可

    View Code
     1  // 这一句一定要写在创建连接的前面。使用回调的方法进行证书验证。
     2             ServicePointManager.ServerCertificateValidationCallback = 
     3             new System.Net.Security.RemoteCertificateValidationCallback(true);
     4             Encoding encoding = Encoding.Default;
     5             HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
     6             //创建证书文件
     7             X509Certificate objx509 = new X509Certificate(Application.StartupPath + "\\证书文件相对文件位置");//request.Referer=URL;//验证网页来源
     8             //加载Cookie
     9             request.CookieContainer = new CookieContainer();
    10             request.CookieContainer.Add(new Uri(),new Cookie("SessionId","SessionValue"));
    11             //添加证书到请求里
    12             request.ClientCertificates.Add(objx509);
    13             request.Method = "post";
    14             request.Accept = "text/html, application/xhtml+xml, */*";
    15             request.ContentType = "application/x-www-form-urlencoded";
    16             byte[] buffer = encoding.GetBytes(strPostdata);
    17             request.ContentLength = buffer.Length;
    18             request.GetRequestStream().Write(buffer, 0, buffer.Length);
    19             HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    20             using (StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.GetEncoding(strEncoding)))
    21             {
    22                 return reader.ReadToEnd();
    23             }

    参考文章:http://www.cnblogs.com/sufei/archive/2011/05/22/2053642.html

  • 相关阅读:
    新克隆环境无法创建供应商,报供应商名称已存在
    批处理学习:for语句详解【经典】(转)
    信号与槽引用传递
    串口封装
    tcp客户端封装
    qt无法定位程序输入点 于动态链接库 qt5core.dll
    对象new和不new的理解
    Qt重绘机制
    红绿灯
    获取所有子控件
  • 原文地址:https://www.cnblogs.com/angleSJW/p/2093703.html
Copyright © 2011-2022 走看看