.NET/C#发起GET和POST请求的几种方法
GET:
|
1
2
3
|
var request = (HttpWebRequest)WebRequest.Create("http://www.leadnt.com/recepticle.aspx");
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
|
POST:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
var request = (HttpWebRequest)WebRequest.Create("http://www.leadnt.com/recepticle.aspx");
var postData = "thing1=hello";
postData += "&thing2=world";
var data = Encoding.ASCII.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
|
第二种:WebClient,也过时了:
|
1
2
|
using System.Net;
using System.Collections.Specialized;
|
GET:
|
1
2
3
4
|
using (var client = new WebClient())
{
var responseString = client.DownloadString("http://www.leadnt.com/recepticle.aspx");
}
|
POST:
|
1
2
3
4
5
6
7
8
9
10
|
using (var client = new WebClient())
{
var values = new NameValueCollection();
values["thing1"] = "hello";
values["thing2"] = "world";
var response = client.UploadValues("http://www.leadnt.com/recepticle.aspx", values);
var responseString = Encoding.Default.GetString(response);
}
|
第三种:HttpClient 当前主流用法,异步请求,自.NET4.5开始可从Nuget包管理中获取。
|
1
|
using System.Net.Http;
|
GET:
|
1
2
3
4
|
using (var client = new HttpClient())
{
var responseString = client.GetStringAsync("http://www.mydomain.com/recepticle.aspx");
}
|
POST:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
using (var client = new HttpClient())
{
var values = new List<KeyValuePair<string, string>>();
values.Add(new KeyValuePair<string, string>("thing1", "hello"));
values.Add(new KeyValuePair<string, string>("thing2 ", "world"));
var content = new FormUrlEncodedContent(values);
var response = await client.PostAsync("http://www.mydomain.com/recepticle.aspx", content);
var responseString = await response.Content.ReadAsStringAsync();
}
|
第四种:第三方类库:
REST API请求测试类库,可通过 NuGet 获得。
最新的便捷的api测试工具,使用HttpClient实现,可通过 NuGet 安装。
|
1
|
using Flurl.Http;
|
GET:
|
1
2
|
var responseString = await "http://www.mydomain.com/recepticle.aspx"
.GetStringAsync();
|
POST:
|
1
2
3
|
var responseString = await "http://www.mydomain.com/recepticle.aspx"
.PostUrlEncodedAsync(new { thing1 = "hello", thing2 = "world" })
.ReceiveString();
|
.NET/C#发起GET和POST请求的几种方法的更多相关文章
- php发送post请求的三种方法示例
本文分享下php发送post请求的三种方法与示例代码,分别使用curl.file_get_content.fsocket来实现post提交数据,大家做个参考. php发送post请求的三种方法,分别使 ...
- 【MySQL】锁——查看当前数据库锁请求的三种方法 20
MySQL提供了查看当前数据库锁请求的三种方法:1. show full processlist命令 观察state和info列 2. show engine innodb status\G ...
- php发送get、post请求的6种方法代码示例
本文主要展示了php发送get.post请求的6种方法的代码示例,分别为使用file_get_contents .fopen.fsockopen.curl来发送GET和POST请求,代码如下: 方法1 ...
- PHP允许AJAX跨域请求的两种方法
* 一. 服务端设置 header 头允许AJAX跨域 ** 代码如下: // 允许 ityangs.net 发起的跨域请求 header("Access-Control-Allow-Ori ...
- ASP.NET MVC 实现AJAX跨域请求的两种方法
通常发送AJAX请求都是在本域内完成的,也就是向本域内的某个URL发送请求,完成部分页面的刷新.但有的时候需要向其它域发送AJAX请求,完成数据的加载,例如Google. 在ASP.NET MVC 框 ...
- springMVC源码学习之:springMVC响应请求的几种方法
spring mvc 支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void. ModelAndView @RequestMap ...
- php发送get、post请求的几种方法
方法1: 用file_get_contents 以get方式获取内容 <?php $url='http://www.domain.com/'; $html = file_get_contents ...
- php发送post请求的三种方法
引用:http://blog.sjzycxx.cn/post/435/ 1.使用 file_get_contents() /** * 发送post请求 * @param string $url 请求地 ...
- 极速响应Excel数据报表请求的一种方法
摘要 通过缓存和维护Excel Workbook实例,极速响应Excel数据报表请求. 这是一个真实的大数据"云计算"项目中的解决方案,在给定的时间和资源下,只有这种方法是最简单并 ...
随机推荐
- Databinding in WPF
https://www.codeproject.com/Articles/680271/Simplest-MVVM-Ever
- 新版vue-cli输入本地ip不能访问,只能用localhost才可以访问?
问:新版vue-cli输入本地ip不能访问,只能用localhost才可以访问? 答:修改config/index.js配置,将host: 'localhost',改为host: '0.0.0.0', ...
- 自定义flume的hbase sink 的序列化程序
package com.hello.hbase; import java.nio.charset.Charset; import java.text.SimpleDateFormat; import ...
- 决策树原理实例(python代码实现)
决策数(Decision Tree)在机器学习中也是比较常见的一种算法,属于监督学习中的一种.看字面意思应该也比较容易理解,相比其他算法比如支持向量机(SVM)或神经网络,似乎决策树感觉“亲切”许多. ...
- hadoop不同版本有哪些
一.Hadoop是什么? 首次听到hadoop这次单词,相信很多人跟我当时是一样,不免心中画上一个大大的问号——这是什么东西?Hadoop是什么?百度百科的解释是:Hadoop是一个由Apache基金 ...
- Spark版本说明
Source code: Spark 源码,需要编译才能使用,另外 Scala 2.11 需要使用源码编译才可使用 Pre-build with user-provided Hadoop: &qu ...
- 获取 TUniConnection.SpecificOptions默认值和下拉框列表值
TUniConnection的SpecificOptions参数决定了数据库连接配置参数,但可惜的是,SpecificOptions设计器界面,Devart公司只能让它在设计期配置! Specific ...
- Console下Pause效果的函数
function PauseConsole(Prompt: PAnsiChar): boolean;var hStdIn, hStdOut: THandle; dwRd, dwWr, i: Car ...
- ubuntu下安装Pycharm
先在PyCharm官网下载安装包 链接:https://www.jetbrains.com/pycharm/download/#section=linux 下载完成后,解压并安装,安装过程需要认证身份 ...
- influxDB 0.9 C# 读写类
influxDB 0.9 C# 读写类 目前influxdb官网推荐的C#读写类是针对0.8版本的,截至本文写作之前,尚未发现有针对0.9的读写类. 我使用influxdb的是用于保存服务器的运行 ...