一、HttpClient方式,程序集 System.Net.Http.dll

GET:

HttpClient httpClient = new HttpClient();
string result = httpClient.GetAsync("url?name=张三&age=18")         .Result.Content.ReadAsStringAsync().Result;
httpClient.Dispose();

POST:

HttpClient httpClient = new HttpClient();

HttpContent httpContent = new StringContent("{\"name\":\"张三\",\"age\":\"18\"}");

httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");

//HttpContent httpContent = new FormUrlEncodedContent(Dictionary集合对象);

//HttpContent httpContent = new MultipartFormDataContent();

string result = httpClient.PostAsync("url", httpContent)         .Result.Content.ReadAsStringAsync().Result;

httpClient.Dispose();

二、HttpWebRequest方式

GET:

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("url?name=张三&age=18");
request.Method = "get";

WebResponse response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string result = reader.ReadToEnd();

response.Close();
reader.Dispose();

POST:

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("url");
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "post";

byte[] byteData = UTF8Encoding.UTF8.GetBytes("name=张三&age=18");
// Set the content length in the request headers
request.ContentLength = byteData.Length;

// Write data
using (Stream postStream = request.GetRequestStream())
{
    postStream.Write(byteData, , byteData.Length);
}

// Get response
WebResponse response = request.GetResponse();
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());
string result = reader.ReadToEnd();

response.Close();
reader.Dispose();

注:设置request.ContentLength可能会引起标头(Headers)丢失

http://www.cnblogs.com/shuxiaolong/p/20160717_0305.html

最新文章

  1. 验证:mysql AUTO_INCREMENT 默认值是1
  2. motto2
  3. photon mapping阶段性总结
  4. Swiper说明及API手册说明
  5. Objective-C编码规范
  6. Android 获取屏幕高度,宽度,状态栏高度
  7. 【CodeForces】【148D】Bag of mice
  8. linux上gcc
  9. 普通的101键盘在Mac上的键位对应
  10. QiniuUpload- 一个方便用七牛做图床然后插入markdown的小工具
  11. python服务端多进程压测工具
  12. iOS开发基础:最新的APP打包上架流程
  13. 高质量的内容是SEO的关键
  14. H3C 路由策略(人为打环)
  15. DWR第二篇之逆向Ajax
  16. centos7如何安装部署Zabbix
  17. 学习笔记(二)--->《Java 8编程官方参考教程(第9版).pdf》:第七章到九章学习笔记
  18. Ubuntu一般软件安装后的路径
  19. ELK之nginx日志使用json格式输出
  20. 简易版本vue的实现和注解

热门文章

  1. 一种HTML table合并单元格的思路
  2. Django学习小记1-安装配置
  3. reactNative性能优化
  4. 「Main」
  5. docker练习-容器和服务
  6. java高并发梳理
  7. OpenJ_Bailian 4103 踩方格(搜索 动态规划 )
  8. 《C++Primer》第五版习题详细答案--目录
  9. Java类成员之内部类
  10. Spring-cloud微服务实战【三】:eureka注册中心(中)