zoukankan      html  css  js  c++  java
  • .Net HttpPost的发送和接收示例代码

    /// <summary>
    /// 模拟http 发送post或get请求
    /// </summary>
    /// <param name="Url"></param>
    /// <param name="postDataStr"></param>
    /// <returns></returns>
    public string HttpPost(string url, string data)
    {
    string returnData = null;
    try
    {
    byte[] buffer = Encoding.UTF8.GetBytes(data);
    HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(url);
    webReq.Method = "POST";
    webReq.ContentType = "application/x-www-form-urlencoded";
    webReq.ContentLength = buffer.Length;
    Stream postData = webReq.GetRequestStream();
    postData.Write(buffer, 0, buffer.Length);
    postData.Close();
    //HttpWebResponse webResp = (HttpWebResponse)webReq.GetResponse();
    HttpWebResponse webResp;
    try
    {
    webResp = (HttpWebResponse)webReq.GetResponse();
    }
    catch (WebException ex)
    {
    webResp = (HttpWebResponse)ex.Response;
    }


    Stream answer = webResp.GetResponseStream();
    StreamReader answerData = new StreamReader(answer);
    returnData = answerData.ReadToEnd();
    }
    catch (Exception ex)
    {
    //Response.Write(ex.Message);
    return ex.Message;
    }
    return returnData.Trim() + " ";


    }

    public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
    { // 总是接受
    return true;
    }
    public string HttpGet(string PageUrl)
    {
    try
    {
    ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
    WebRequest request = WebRequest.Create(PageUrl);
    WebResponse response = request.GetResponse();
    Stream resStream = response.GetResponseStream();
    Encoding encode = Encoding.GetEncoding("utf-8");
    //Encoding encode = Encoding.GetEncoding("gb2312");
    StreamReader sr = new StreamReader(resStream, encode);
    string retstr = sr.ReadToEnd();
    resStream.Close();
    sr.Close();
    return retstr;
    }
    catch (Exception e)
    {
    return e.Message;
    }
    }


    /// <summary>
    /// 模拟http 发送post或get请求 传递Json内容
    /// </summary>
    /// <param name="Url"></param>
    /// <param name="postDataStr"></param>
    /// <returns></returns>
    public string HttpPostJson(string url, string data)
    {
    string returnData = null;
    try
    {
    byte[] buffer = Encoding.UTF8.GetBytes(data);
    HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(url);
    webReq.Method = "POST";
    webReq.ContentType = "application/json";
    webReq.Accept = "application/json";
    webReq.ContentLength = buffer.Length;
    Stream postData = webReq.GetRequestStream();
    postData.Write(buffer, 0, buffer.Length);
    postData.Close();
    //HttpWebResponse webResp = (HttpWebResponse)webReq.GetResponse();
    HttpWebResponse webResp;
    try
    {
    webResp = (HttpWebResponse)webReq.GetResponse();
    }
    catch (WebException ex)
    {
    webResp = (HttpWebResponse)ex.Response;
    }


    Stream answer = webResp.GetResponseStream();
    StreamReader answerData = new StreamReader(answer);
    returnData = answerData.ReadToEnd();
    }
    catch (Exception ex)
    {
    //Response.Write(ex.Message);
    return ex.Message;
    }
    return returnData.Trim() + " ";

    }

    接收:

      using System;

      using System.Text;

      namespace HttpPostDemo.Receive

      {

      public partial class Receiver : System.Web.UI.Page

      {

      protected void Page_Load(object sender, EventArgs e)

      {

      var inputStream = Request.InputStream;

      var strLen = Convert.ToInt32(inputStream.Length);

      var strArr = new byte[strLen];

      inputStream.Read(strArr, 0, strLen);

      var requestMes = Encoding.UTF8.GetString(strArr);

      Response.Write(requestMes);

      Response.End();

      }

      }

      }

  • 相关阅读:
    1121 Django基本
    1121 爬虫简单面条版
    1118 DOM
    1114 CSS基础
    1116 前端的练习--博客界面
    1112 前端基础之标签
    仿优酷错误
    1107 python自定义实现ORM
    cesm1_2_2在南信大大型机上的移植以及运行简单case的步骤
    ERROR:105: Unable to locate a modulefile for 'xxx'
  • 原文地址:https://www.cnblogs.com/mili3/p/4798762.html
Copyright © 2011-2022 走看看