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数据的更多相关文章

  1. 【转】C# HttpWebRequest\HttpWebResponse\WebClient发送请求解析json数据

    http://blog.csdn.net/kingcruel/article/details/44036871 版权声明:本文为博主原创文章,未经博主允许不得转载. ================= ...

  2. PHP/Post 提交请求获取json数据,并转化为所需要的数组

    /** * Post 提交请求获取json数据,并转化为所需要的数组 */ function request_post($url = '', $param = '') { if (empty($url ...

  3. 【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回

    作者:ssslinppp      时间:2015年5月26日 15:32:51 1. 摘要 本文讲解如何利用spring MVC框架,实现ajax异步请求以及json数据的返回. Spring MV ...

  4. 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法

    在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法 最近在做一个小东西,使用kindeditor上传图片的时候,自己写了一个上传的方法,按照协议规则通过ajax返回json ...

  5. 【VueJS】VueJS开发请求本地json数据的配置

    VueJS开发请求本地json数据的配置,旧版本是build/dev-server.js,新版本是build/webpack.dev.conf.js. VueJS开发请求本地json数据的配置,早期的 ...

  6. Nginx下HTML页面POST请求静态JSON数据返回405状态

    在浏览器访问HTML页面,发现一些静态JSON数据没有显示,F12查看,如下图所示: 可以看到请求方式为POST 将请求链接复制在浏览器地址栏访问,可以正常请求到数据 F12查看,可以看到请求方式为G ...

  7. Beego框架POST请求接收JSON数据

    原文: https://blog.csdn.net/Aaron_80726/article/details/83870563 ------------------------------------- ...

  8. 手把手教你vue配置请求本地json数据

    本篇文章主要介绍了vue配置请求本地json数据的方法,分享给大家,具体如下:在build文件夹下找到webpack.dev.conf.js文件,在const portfinder = require ...

  9. XML 数据请求与JSON 数据请求

    (1)XML 数据请求 使用 AFNetworking 中的 AFHTTPRequestOperation 和 AFXMLParserResponseSerializer,另外结合第三方框架 XMLD ...

随机推荐

  1. Win8 & WP8.1 轻型数据库

    自Win8 和 WP8.1 以来,MS把SQL CE去掉了.为了方便自己的APP升级,减少代码改动量,所以写了个小型的数据库管理,参考WP8.1之前的DataContext. 用时较短,花了几天的时间 ...

  2. Java进程&线程(一)

    Java进程&线程 程序:程序员写的代码,就是代码,不运行好像不会发生什么: 进程:一个进程可以理解为"运行的"一个程序,当我们启动一个java程序后,对应的jvm就会创建 ...

  3. Git命令行入门

    安装 下载与文档地址:https://git-scm.com/book/zh/v2 我使用的是linux系统,故使用命令行安装Git # apt-get install git 配置 # git co ...

  4. react基础学习 一

    1. 搭建环境 安装react脚手架  >npm install create-react-app -g 创建文件            >create-react-app 项目名称 启动 ...

  5. python3+2 不换行打印,多用于进度条 process bar

    python3 不换行打印,多用于进度条 process bar process = 0 # process bar for i in user: process += 1 print("\ ...

  6. WEB日志分析工具(Webslizer和AWstats)

    https://www.cnblogs.com/xiaowenshu/p/10030139.html#top

  7. 基础Gan代码解析

    initializer总结: #f.constant_initializer(value) 将变量初始化为给定的常量,初始化一切所提供的值. #tf.random_normal_initializer ...

  8. django之注册登录

    清理session数据,自此django的认证登陆登出功能完成,但是此处有个问题,就是当用户在手动关闭浏览器的时候,session数据不会自动失效,数据库的session数据也不会自动删除,所以需要在 ...

  9. 使用ScheduledThreadPoolExecutor执行定时任务

    ScheduledThreadPoolExecutor scheduled = new ScheduledThreadPoolExecutor(2); scheduled.scheduleAtFixe ...

  10. CentOS7虚拟机配置ip地址

    首先安装后的虚拟机选NAT模式配置vm的虚拟网络编辑器(vmware中的编辑),NAT模式中查看DHCP的范围,配置子网(写成和电脑一样),在linux中进入/etc/sysconfig/networ ...