.Net下的Http请求调用(Post与Get)
http请求调用是开发中经常会用到的功能。在内,调用自有项目的Web Api等形式接口时会用到;在外,调用一些第三方功能接口时,也会用到,因为,这些第三方功能往往是通过http地址的形式提供的,比如:短信服务、在线翻译、地图服务、语音智能、等…
http请求调用,又分为Post与Get两种形式。(支持.NET/.NET Core/.NET Framework)
Post形式的请求相对复杂一些,也更常用,一旦弄明白它, Get形式一看便懂,故我们首先来看看Post形式的请求调用。
使用Post调用http,往往有四个参数需要设置:
(1) 调用地址
(2) 需要发送过去的参数
(3) http请求头(如果有设置)
(4) 编码格式。常用的为:application/json
下面给出一个使用第三方链接“发送短信”的代码示例:
using DeveloperSharp.Framework.CoreUtility; //从NuGet引用DeveloperSharp包
using Newtonsoft.Json; //从NuGet引用Newtonsoft.Json包
-------------------------- public static object iSoftStoneSync(string mobile, string code, string name)
{
//创建工具
IUtility IU = new Utility(); //调用地址
string requestUrl = "https://prekaka.rainfn.com/kaka/api/v1/activity/uploadUserData";
//需要发送的参数
Dictionary<string, object> data = new Dictionary<string, object>
{
{ "mobile",mobile },
{ "code",code},
{ "name",name}
}; //Post形式发送请求调用
var responsesStr = IU.HttpPost(requestUrl, JsonConvert.SerializeObject(data), null, "application/json");
object reData = JsonConvert.DeserializeObject<object>(responsesStr);
return reData;
}
上例因为没有设置“http请求头”,故HttpPost方法的第三个参数传值为null。
HttpPost方法的详细说明如下:
HttpPost
声明:string HttpPost(string Url, string ParamData = "", Dictionary<string, string> HeaderDic = null, string ContentType = "application/x-www-form-urlencoded");
用途:调用Http-Post请求
参数:(1)string Url -- 调用请求的url地址
(2)string ParamData -- 提交的参数
(3)Dictionary<string, string> HeaderDic -- 存放http头的键值对
(4)string ContentType -- 请求的编码格式,通常有application/x-www-form-urlencoded(默认设置)、multipart/form-data、application/json三种形式
返回:String -- 请求结果(-107开头表示出错)
最后,我们来说说Get形式的请求调用。
Get形式往往用于url后带问号“?N1=V1&N2=V2&N3=V3”这类的调用。这类调用的特点是:“需要发送的参数”直接挂在了“调用地址”后面。下面直接给出一个示例,你一看便知:
using DeveloperSharp.Framework.CoreUtility;
-------------------------- IUtility ui = new Utility();
string r = ui.HttpGet("http://localhost:1416/Handler1.ashx?name=kyyk&age=100");
【附注】:文中所有示例均已成功运行通过!!技术交流/支持,请微信扫描二维码,备注“进群”!
(欢迎转载,转载请注明出处)
.Net下的Http请求调用(Post与Get)的更多相关文章
- 程序员节应该写博客之.NET下使用HTTP请求的正确姿势
程序员节应该写博客之.NET下使用HTTP请求的正确姿势 一.前言 去年9月份的时候我看到过外国朋友关于.NET Framework下HttpClient缺陷的分析后对HttpClient有了一定的了 ...
- .NET下使用HTTP请求的正确姿势
来源:Lewis.Zou cnblogs.com/modestmt/p/7724821.html 一.前言 去年9月份的时候我看到过外国朋友关于.NET Framework下HttpClient缺陷的 ...
- ie浏览器下,get请求缓存问题
1 使用get请求数据 1)Java代码 $.getJSON("sortShow!sortShow?time="+new Date().getTime(),function(){} ...
- Post方式的Http流请求调用
HttpRequest公共类: public static class HttpRequestAction { /// <summary> /// 发送http请求并返回响应 /// &l ...
- iOS下的 Fixed + Input 调用键盘的时候fixed无效问题解决方案
做touchweb开发的时候,做头疼的是,电脑上面时候好的,有些手机上面也是好的,个别手机和浏览器出现问题,对于这些,只能慢慢调试,找问题. 今天说一下比较老的IOS的问题,那就是"iOS下 ...
- bugzilla4的xmlrpc接口api调用实现分享: xmlrpc + https + cookies + httpclient +bugzilla + java实现加密通信下的xmlrpc接口调用并解决登陆保持会话功能
xmlrpc . https . cookies . httpclient.bugzilla . java实现加密通信下的xmlrpc接口调用并解决登陆保持会话功能,网上针对bugzilla的实现很 ...
- 解析android framework下利用app_process来调用java写的命令及示例
解析android framework下利用app_process来调用java写的命令及示例 在android SDK的framework/base/cmds目录下了,有不少目录,这些目的最终都是b ...
- C# 使用 HttpPost 请求调用 WebService
之前调用 WebService 都是直接添加服务引用,然后调用 WebService 方法的,最近发现还可以使用 Http 请求调用 WebService.这里还想说一句,还是 web api 的调用 ...
- ajax 请求调用问题
http://localhost/dev/list 和 http://127.0.0.1/dev/list 最近在架构整体常规通用系统的解决方案,遭遇AJAX请求不执行的问题,刚开始以为Spring ...
随机推荐
- 根据数据中的key获取value值
一.测试数据准备 List<Map<String, String>> result = new ArrayList();Map<String, String> ma ...
- SAP 日期计算
1. CONVERSION_EXIT_IDATE_OUTPUT INPUT: 20200601 OUTPUT: 03FEB2008 2. CONVERT_DATE_TO_ ...
- 【Redis 系列】redis 学习十六,redis 字典(map) 及其核心编码结构
redis 是使用 C 语言编写的,但是 C 语言是没有字典这个数据结构的,因此 C 语言自己使用结构体来自定义一个字典结构 typedef struct redisDb src\server.h 中 ...
- Linux字符集和编码
计算机内部,所有信息最终都是一个二进制值形式存放 字符集 字符集:charset是character set的简写,即二进制和字符的对应关系,不关注最终的存储形式 编码 字符集编码:encoding是 ...
- 你真的会python中的for循环吗
for 循环是 Python 中的通用序列迭代器:它可以单步遍历任何有序序列中的元素.for 语句适用于字符串.列表.元组.其他内置可迭代对象和类创建的新对象. for 通常比 while 循环更容易 ...
- label问题排查:打不开标注好的图像
问题描述 之前标注好的文件,标注有bbox和若干points.选择Open Dir打开图像目录,选择Change Output Dir选择json文件所在目录.发现有些图片能正常显示标注后的状态.而有 ...
- 使用 NSProxy 实现消息转发
一.简介 在 iOS 应用开发中,自定义一个类一般需要继承自 NSObject 类或者 NSObject 子类,但是,NSProxy 类不是继承自 NSObject 类或者 NSObject 子类 ...
- Cascade-LSTM: A Tree-Structured Neural Classifier for Detecting Misinformation Cascades(KDD20)
Cascade-LSTM是一个用于虚假信息级联检测的树结构神经分类器,它本质上是一个谣言(假新闻)检测模型,它将谣言检测任务视为一个树分类问题. Cascade-LSTM在递归神经网络(本文具体基于T ...
- HackerRank第一趴--Basic Select
CITY表: Field Type ID number NAME VARCHAR2(17) COUNTRYCODE VARCHAR2(3) DISTRICT VARCHAR2(20) POPULATI ...
- 【一本通提高树链剖分】「ZJOI2008」树的统计
[ZJOI2008]树的统计 题目描述 一棵树上有 n n n 个节点,编号分别为 1 1 1 到 n n n,每个节点都有一个权值 w w w. 我们将以下面的形式来要求你对这棵树完成一些操作: I ...