HttpWebRequest request = WebRequest.Create("url") as HttpWebRequest;
request.Timeout = * * ;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";//数据放在body中,以键值对形式
request.KeepAlive = true;
request.Headers.Add("Authorization", Authorization);//api 的验证 信息
string ss = System.Web.HttpUtility.UrlEncode("key") + "=" + System.Web.HttpUtility.UrlEncode(value);//参数使用urlencode编码,
//空格全部用+代替
byte[] postData = encoding.GetBytes(ss);
request.ContentLength = postData.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(postData, , postData.Length);
requestStream.Close(); var response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream(); StreamReader reader = new StreamReader(responseStream, encoding);
string result = reader.ReadToEnd(); reader.Close();
responseStream.Close();

2 拿到api返回的json格式之后使用newtonsoft来反序列化

 private static T DeserializeObject<T>(string equityJson)
{
//将返回的json反序列化成objec
object _object = JsonConvert.DeserializeObject(equityJson);
//转换成jobject
Newtonsoft.Json.Linq.JObject jObject = _object as Newtonsoft.Json.Linq.JObject;
//根据键值对的形式拿到对应的value
string dataJson = jObject["data"].ToString(); object dataObj = JsonConvert.DeserializeObject(dataJson);
JObject jdataObj = dataObj as JObject;
string capabilityResults = jdataObj["capabilityResults"].ToString(); object capabilityResultsObj = JsonConvert.DeserializeObject(capabilityResults);
JObject jcapabilityResultsObj = capabilityResultsObj as JObject;
string equity_name_matching = jcapabilityResultsObj["equity_name_matching"].ToString(); T equityMatchReturn = JsonConvert.DeserializeObject<T>(equity_name_matching);
return equityMatchReturn;
}

  

使用httpwebrequest发送http请求的更多相关文章

  1. C#实现通过HttpWebRequest发送POST请求实现网站自动登陆

    C#实现通过HttpWebRequest发送POST请求实现网站自动登陆   怎样通过HttpWebRequest 发送 POST 请求到一个网页服务器?例如编写个程序实现自动用户登录,自动提交表单数 ...

  2. 使用 HttpWebRequest 发送模拟 POST 请求

    使用HttpWebRequest发送模拟POST请求  网页中,如果form的method="POST",这时点击submit按钮可以给服务器发送了一个POST请求,如果metho ...

  3. C#利用 HttpWebRequest 类发送post请求,出现“套接字(协议/网络地址/端口)只允许使用一次”问题

    声明:问题虽然已经被解决,但是并没有明白具体原理,欢迎大佬补充. 最近网站出现一个问题,在C#里面使用  HttpWebRequest 类去发送post请求,偶尔 会出现 “套接字(协议/网络地址/端 ...

  4. 使用HttpClient来异步发送POST请求并解析GZIP回应

    .NET 4.5(C#): 使用HttpClient来异步发送POST请求并解析GZIP回应 在新的C# 5.0和.NET 4.5环境下,微软为C#加入了async/await,同时还加入新的Syst ...

  5. 【转】asp.net(c#)使用HttpWebRequest附加携带请求参数以post方式模拟上传大文件(以图片为例)到Web服务器端

    原文地址:http://docode.top/Article/Detail/10002 目录: 1.Http协议上传文件(以图片为例)请求报文体内容格式 2.完整版HttpWebRequest模拟上传 ...

  6. .net中如何发送HTTP请求网络资源

    应用场景 应该说只要是需要通过发送Http请求获取网络资源的地方都要使用它,网络资源可以是指以URI来表示的资源,比如web api接口等. HttpWebRequest .net2.0 ~ .net ...

  7. 如何在WinForm中发送HTTP请求

    如何在WinForm中请求发送HTTP 手工发送HTTP请求主要是调用 System.Net的HttpWebResponse方法 手工发送HTTP的GET请 求: string strURL = &q ...

  8. c#发送http请求注意

    这里要注意几个点:第一就是编码,如果编码不对,容易中文乱码第二就是ContentType 如果设置不对,有可能连方法都调试不进去(我api用的是MVC的普通controller)第三就是paramDa ...

  9. c#代码发送post请求,上传文件(并带其他参数)

    本人对post理解不深,前段时间遇到一个需要用c#代码发送post请求上传文件的业务,于是参考了几篇帖子,加上自身实践写出了如下代码.写的比较low 望各位大大指正^_^. 业务需求: 对方给了一个接 ...

随机推荐

  1. C++构造函数以及何时被调用

    using namespace std; class A { public: A() { cout << "默认无参构造函数" << endl; } #if ...

  2. Qt编写自定义控件63-水波效果

    一.前言 几年前就一直考虑过写这个控件了,在9年前用C#的时候,就看到过别人用C#写了个水波效果的控件,挺好玩的,当时看了下代码用的二维数组来存储变换的图像像素数据,自从学了Qt以后,有过几次想要用Q ...

  3. Python - Django - Cookie 简单用法

    home.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  4. 删除pod后又重新创建pod发现还是访问原先的服务状态---解决

    因为做了数据持久化存储,需要删除数据目录下的数据才可以 参照: https://www.cnblogs.com/effortsing/p/10496391.html

  5. js实现深度优先遍历和广度优先遍历

    深度优先遍历和广度优先遍历 什么是深度优先和广度优先 其实简单来说 深度优先就是自上而下的遍历搜索 广度优先则是逐层遍历, 如下图所示 1.深度优先 2.广度优先 两者的区别 对于算法来说 无非就是时 ...

  6. 12、OpenCV实现图像的直方图处理

    1.直方图 一幅图像由不同灰度值的像素组成,图像中灰度的分布情况是该图像的一个重要特征.图像的灰度直方图就描述了图像中灰度分布情况,能够很直观的展示出图像中各个灰度级所占的多少.图像的灰度直方图是灰度 ...

  7. 查看cpu核的相关信息

    查看CPU信息(型号) cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 80 Intel(R) Xeon(R) CPU E7-4820 v3 ...

  8. 微信小程序之一:动态添加view(view包含picker,input)

    <view wx:for="{{array}}" wx:key="this" class="borderContainer"> ...

  9. perl删除文件前几列

    perl oneline 快速删除文件的前两列代码如下 6 perl -lane 'print join("\t",@F[2..$#F])' test.txt 输出效果

  10. ROS安装,配置

    ROS最好安装在Ubuntu系统,因为ROS目前在其他的系统中都是试验性的 ! <Learning ROS for Robotics Programming-- second Edition&g ...