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