RestSharp发送请求得到Json数据
NUGET安装:RestSharp
code:
public string Post(string url, string content)
{
string contentType = "application/json"; //Content-Type
try
{
var client = new RestClient(url);
var request = new RestRequest(Method.POST);
request.Timeout = 10000;
request.AddParameter(contentType, content, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
return response.Content; //返回的结果
}
catch (Exception ex)
{
return "连接服务器出错:\r\n" + ex.Message;
}
}
public class RestClientManager
{
public JObject Post(string baseUrl, string url, JObject sendData)
{
return Post(baseUrl, url, sendData, string.Empty);
} public JObject Post(string baseUrl, string url, JObject sendData, string token)
{
RestClient client = new RestClient(baseUrl);
var request = new RestRequest(url, Method.POST);
var contenType = "application/json";
request.AddHeader("Accept", contenType);
if (!string.IsNullOrWhiteSpace(token))
{
request.AddHeader("token", token);
}
if (sendData == null)
{
sendData = new JObject();
}
request.AddParameter(contenType, sendData, ParameterType.RequestBody);
var response = client.Execute(request);
if (string.IsNullOrWhiteSpace(response.Content))
{
return null;
}
return JObject.Parse(response.Content);
} public JObject Get(string baseUrl, string url, JObject sendData)
{
return Get(baseUrl, url, sendData, string.Empty);
} public JObject Get(string baseUrl, string url, JObject sendData, string token)
{
string parames = string.Empty;
if (sendData != null)
{
StringBuilder datas = new StringBuilder();
foreach (var item in sendData)
{
datas.AppendFormat("{0}={1}", item.Key, item.Value);
}
parames = string.Format("?{0}", string.Join("&", datas));
}
var client = new RestClient(string.Format("{0}{1}{2}", baseUrl, url, parames));
var request = new RestRequest(Method.GET);
var response = client.Execute(request);
return JObject.Parse(response.Content);
}
}
使用:
string baseUrl = "https://api.weixin.qq.com";
string urlToken = @"/sns/oauth2/access_token";
JObject paras = new JObject
{
["appid"] = "",
["secret"] = "",
["code"] = "",
["grant_type"] = "authorization_code"
};
JObject objToken = new RestClientManager().Get(baseUrl, urlToken, paras);
if (objToken["errcode"] == null)
{
string access_token = objToken["access_token"].Value<string>();
string openid = objToken["openid"].Value<string>();
}
RestSharp发送请求得到Json数据的更多相关文章
- 【转】C# HttpWebRequest\HttpWebResponse\WebClient发送请求解析json数据
http://blog.csdn.net/kingcruel/article/details/44036871 版权声明:本文为博主原创文章,未经博主允许不得转载. ================= ...
- PHP/Post 提交请求获取json数据,并转化为所需要的数组
/** * Post 提交请求获取json数据,并转化为所需要的数组 */ function request_post($url = '', $param = '') { if (empty($url ...
- 【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回
作者:ssslinppp 时间:2015年5月26日 15:32:51 1. 摘要 本文讲解如何利用spring MVC框架,实现ajax异步请求以及json数据的返回. Spring MV ...
- 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法
在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法 最近在做一个小东西,使用kindeditor上传图片的时候,自己写了一个上传的方法,按照协议规则通过ajax返回json ...
- 【VueJS】VueJS开发请求本地json数据的配置
VueJS开发请求本地json数据的配置,旧版本是build/dev-server.js,新版本是build/webpack.dev.conf.js. VueJS开发请求本地json数据的配置,早期的 ...
- Nginx下HTML页面POST请求静态JSON数据返回405状态
在浏览器访问HTML页面,发现一些静态JSON数据没有显示,F12查看,如下图所示: 可以看到请求方式为POST 将请求链接复制在浏览器地址栏访问,可以正常请求到数据 F12查看,可以看到请求方式为G ...
- Beego框架POST请求接收JSON数据
原文: https://blog.csdn.net/Aaron_80726/article/details/83870563 ------------------------------------- ...
- 手把手教你vue配置请求本地json数据
本篇文章主要介绍了vue配置请求本地json数据的方法,分享给大家,具体如下:在build文件夹下找到webpack.dev.conf.js文件,在const portfinder = require ...
- XML 数据请求与JSON 数据请求
(1)XML 数据请求 使用 AFNetworking 中的 AFHTTPRequestOperation 和 AFXMLParserResponseSerializer,另外结合第三方框架 XMLD ...
随机推荐
- 如何让SQLServer的 itemNum 字段 按照数字大小顺序排序
我的 itemNum 从1到20,可是超过了SQLServer的默认排序这样的1101112...19234567如何才能让排序成为这样1234567891011.. . 解决办法:因为 itemNu ...
- shell脚本三——正则表达式
shell函数:shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数.给这段代码起个名字称为函数名,后续可以直接调用该段代码. 格式:fun() { 命令 } Shell ...
- 域名动态解析到动态IP
一般宽带用户的IP都是动态IP,重连之后IP可能会发生变化. 如果想在其他地方连接家里的设备,或者在家中搭建服务器,就会受到影响. 现在提供一种动态解析域名的方式,只要检测到IP的变化,那么就调用阿里 ...
- 简单封装Redis做缓存
基于Redis封装一个简单的Python缓存模块 0. Docker Redis安装 参考: Get Docker CE for CentOS Docker 安装 Redis 安装Docker时错误s ...
- 灰熊:在这6个信息流和DSP平台投放后,我总结了这些血泪经验!
笔者有幸参与公司的一款重度游戏的推广,推广以来市面上主流的信息流和DSP 平台都投过一番,今天就零零碎碎地讲讲各个平台的特点以及用户质量. 需要提前说明的是,文章的观点仅限于各个平台的 iOS 流量, ...
- Sublime Text 3 插件
1.快捷键:ctrl+shift+P 2.输入install package,选择install package 3.输入需要安装的插件,选择安装 4.重启sublime 1. 格式化 html-cs ...
- Linux 文件目录管理命令
1.touch 用于设置空白文件或设置文件时间 touch命令参数及作用 参 数 ...
- c语言操作符总结
分类: 算术操作符 移位操作符 位操作符 赋值操作符 单目操作符 关系操作符 逻辑操作符 条件操作符 逗号表达式 其他操作符(下标引用.函数调用和结构成员) 一.算数操作符 1.算术操作符包括:+ ...
- [Nginx]Nginx的一些概念
Nginx 关注:一.性能 1)高并发下资源不浪费在处理进程切换休眠等,保持高的吞吐量 2)高并发下如何保持平均时延低 3)提高网络效率,例如长连接代替短链接,高压缩算法提高信息量,使用缓存减少 ...
- nodeJs 控制台打印中文显示为Unicode解决方案
在使用 NodeJs 采集其他网站网页时遇到的,在获取源代码后发现里面原来的中文被转成了 Unicode(UTF8) 编码的中文(如:&# [xxx]),这当然不是真正想要的中文实体 解决方案 ...