/// <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() + "\n";

}

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() + "\n";

}

接收:

  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();

  }

  }

  }

最新文章

  1. Angular的自定义指令以及实例
  2. RTTI 运行时类型识别 及异常处理
  3. PS:缝线颜色随着鞋帮颜色的改变发生改变.files
  4. ahjesus自定义隐式转换和显示转换
  5. python基础-基本数据类型
  6. Spring 配置文件applicationContext.xml
  7. Linux-IP地址后边加个/8(16,24,32)是什么意思?
  8. 如何打造一款五星级的 APP ?
  9. 树形dp入门练习(hdu1011+hdu1061)
  10. AfxOleInit()和::CoInitialize(NULL)区别
  11. Java中关于final关键字
  12. abiword Related Pages
  13. Ubuntu安装Jupyter Notebook
  14. 百度移动深度学习 Mobile-deep-learning(MDL)
  15. Freeline--Android平台上的秒级编译方案
  16. 1.Ansible安装以及配置
  17. Kotlin入门(16)容器的遍历方式
  18. Tengine(nginx) 搭建Tomcat集群
  19. Oracle 11.2.0.4.0 Dataguard部署和日常维护(6)-Dataguard Snapshot篇
  20. 【转】Window 通过cmd查看端口占用、相应进程、杀死进程等的命令

热门文章

  1. Java 集合深入理解(5):AbstractCollection
  2. Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果
  3. 后台代码对iBatis配置文件中具体的sql语句的调用实现(被封装的增删改查)
  4. Android Listener 监听的几种写法
  5. matlab 相同函数名解决
  6. CentOS 6.6 nginx install
  7. LeetCode Combination Sum II (DFS)
  8. python 函数基础
  9. centos6.3 + db2v9.7的数据库移行
  10. php--部分session与cookie