Call API URL连接拼参数的方法
void TestNTFD()
{
try
{
try
{
ServicePointManager.SecurityProtocol = (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072;
ServicePointManager.ServerCertificateValidationCallback +=
delegate(object sender2, System.Security.Cryptography.X509Certificates.X509Certificate certificate,
System.Security.Cryptography.X509Certificates.X509Chain chain,
System.Net.Security.SslPolicyErrors sslPolicyErrors)
{
return true;
};
}
catch { }
string url = "https://10.20.1.108:8443/api/iot/SetIotDeviceStatus";
Dictionary<string, string> parameters = new Dictionary<string, string>() {
{ "org_id","10211" },
{ "iot_device_id_list","1,2,3" },
{ "iot_status","1" },
{ "staff_id","1" },
{ "token","6BC43987-84D7-4F93-B185-F658D6D5F246" }
};
var res = GetResponseResult(url, GetRequestData(parameters),
"post", "application/x-www-form-urlencoded;charset=utf-8"
, defaultEncodType, defaultTimeout, parameters);
string ra = "";
}
catch (Exception ex)
{
string err = ex + "";
}
}
static HttpWebRequest GetHttpWebRequest(string requestURI, string requestData, string method,
string contentType, Encoding encodType, int timeout, Dictionary<string, string> headers)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestURI);
// request method
request.Method = method;
request.ReadWriteTimeout = timeout;
request.Timeout = timeout;
// headers
if (headers != null && headers.Count > 0)
{
foreach (var item in headers)
{
request.Headers.Add(item.Key, item.Value);
}
}
// contentType
if (!string.IsNullOrEmpty(contentType))
{
request.ContentType = contentType;
}
// content
if (!string.IsNullOrEmpty(requestData))
{
byte[] buf = encodType.GetBytes(requestData);
request.ContentLength = buf.Length;
using (Stream reqStream = request.GetRequestStream())
{
reqStream.Write(buf, 0, buf.Length);
reqStream.Close();
}
}
return request;
}
static string GetResponseResult(string requestURI, string requestData,
string method,
string contentType, Encoding encodType, int timeout, Dictionary<string, string> headers)
{
HttpWebRequest myRequest = GetHttpWebRequest(requestURI, requestData, method,
contentType, encodType, timeout, headers);
string result = string.Empty;
using (HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse())
{
if (myResponse.StatusCode == HttpStatusCode.OK)
{
using (StreamReader reader = new StreamReader(myResponse.GetResponseStream(), encodType))
{
result = reader.ReadToEnd();
}
}
}
return result;
}
static string GetRequestData(Dictionary<string, string> postParameters)
{
if (postParameters == null || postParameters.Count < 1)
{
return string.Empty;
}
StringBuilder paraStrBuilder = new StringBuilder();
foreach (string key in postParameters.Keys)
{
paraStrBuilder.AppendFormat("{0}={1}&", key, postParameters[key]);
}
string para = paraStrBuilder.ToString();
if (para.EndsWith("&"))
{
para = para.Remove(para.Length - 1, 1);
}
return para.ToString();
}
/// <summary>
/// default encode: UTF8
/// </summary>
static Encoding defaultEncodType = Encoding.UTF8;
/// <summary>
/// timeout,Unit is milliseconds, default is 10 s
/// </summary>
static int defaultTimeout = 10000;
Call API URL连接拼参数的方法的更多相关文章
- BASE64-客户端(js)加码-服务器端(c#)解码,URL传递“汉字参数”解决方法
HttpUtility.UrlEncode 在 Encode 的时候, 将空格转换成加号('+'), 在 Decode 的时候将加号转为空格, 但是浏览器是不能理解加号为空格的, 所以如果文件名包含了 ...
- js获取url地址的参数的方法
js获取url参数值 今天说一下如何获取url参数值. 思路 通过location的search就可以获取到url中问号后面的值. 字符串过滤到问号 通过split方法分割参数集合 循环赋值 匹配对应 ...
- JS获取当前完整的url地址以及参数的方法
javascript 获取当前 URL 参数的两种方法: //返回的是字符串形式的参数,例如:class_id=3&id=2& function getUrlArgStr(){ var ...
- javascript获取url中对应参数的方法
利用正则表达式和location.search方法,可以简便的获取到对应的参数: function getQueryString(name) {var reg = new RegExp(" ...
- 获取url后面的参数的方法
1. function GetRequest() { var url = 'http://wwww.jb51.net/?q=js'; //获取url中"?"符后的字串 if (ur ...
- 分享关于js解析URL中的参数的方法
function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...
- pyqt4:连接的一个带有参数的方法
一般在pyqt4中的信号连接很少连接带参数的方法,很多时候连接带参数的方法节约不少代码量. self.s5_thread=scene.Worker5() self.log_get=QtCore.QTi ...
- 使用JS准确获取URL网址中参数的几种方法
记录下使用JS准确获取URL网址中参数的方法: 参考链接1. https://blog.csdn.net/Zhihua_W/article/details/54845945?utm_source=bl ...
- js获取url中的参数,并保证获取到的参数不乱码
//网上比较经典的js获取url中的参数的方法 function getQueryString(name) { var reg = new RegExp("(^|&)" + ...
- 【小知识点】js无需刷新在url地址添加参数
今天后端同事找我,问我一个关于js无需刷新在url地址添加参数的方法. 然后我百度啊,终于在一篇文章找到了办法,非常简单的一句代码. window.history.pushState({}, 0, w ...
随机推荐
- next_permutation / prev_permutation 用法
给定输入的序列 a(整数即可,其他无限制条件),next_permutation(a + 1, a + n + 1) 可以求出 a 的关于值的下一个排列,prev_permutation(a + 1, ...
- 【文献阅读】Nonlinear controller design of a ship autopilot
(1)文章工作 The main goal here is to design a proper and efficient controller for a ship autopilot based ...
- 一周ppt 总结
最近写了一篇培训ppt ,大概花了7个工作日,走了一些弯路,问题总结: 开始一项工作前,对接清除核心要点(刚开网上搜罗一圈 拼凑了一份(将各个内容进行筛选整理) 反馈后不是领导想要的) 制作ppt前, ...
- 压缩打包,tar
压缩打包命令 创建压缩包 tar -zcvf /home/xxxx.tar.gz /xahot 解压 tar -zxvf xxx.tar.gz gzip xxxx 自动变为 xxx.gz
- vue element-ui form验证中自定义验证方式通过不返回true问题
项目中使用了element-ui的form验证,自定义了手机号的验证规则,验证不通过的时候定义了callback()扔出错误.但是忘了写通过的callback().导致form验证通过拿不到返回的va ...
- HTML学习笔记2----元素与标签
随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...
- docker容器启动报错Unable to access jarfile
1.错误表现 Errot: Unable to access jarfile /opt/run-java/deployments/chiano.jar 2.原因:容器的基础镜像对jar的权限有要求 3 ...
- 2022-04-12内部群每日三题-清辉PMP
1.一个项目的成本绩效指数(CPI)为1.2,且关键路径上的一个可交付成果落后于进度. 如果项目经理将项目回正轨,项目会发生什么情况? A.活动将并行执行 B.范围将被修改 C.成本和风险将会增加 D ...
- 【IDEA】测试类(test)的模板及定义
人和动物的区别是:能制造和使用工具.因为,工具大大便利了我们的生活. 我们在使用Idea开发java项目的过程中,有些代码是固定的,我们能不能只写几个字,就代表一连串的代码.例如,这里,我们只是输入了 ...
- Excel—时间函数
时间函数,学习之前先普及一个尝试,微软采用的是1900年纪念方式(数字1,代表的是1900年1月1日,数字1.5 代表的是1900年的1月1日的中午12:00,因为1.5正好是1天半的时间,而一天2 ...