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连接拼参数的方法的更多相关文章

  1. BASE64-客户端(js)加码-服务器端(c#)解码,URL传递“汉字参数”解决方法

    HttpUtility.UrlEncode 在 Encode 的时候, 将空格转换成加号('+'), 在 Decode 的时候将加号转为空格, 但是浏览器是不能理解加号为空格的, 所以如果文件名包含了 ...

  2. js获取url地址的参数的方法

    js获取url参数值 今天说一下如何获取url参数值. 思路 通过location的search就可以获取到url中问号后面的值. 字符串过滤到问号 通过split方法分割参数集合 循环赋值 匹配对应 ...

  3. JS获取当前完整的url地址以及参数的方法

    javascript 获取当前 URL 参数的两种方法: //返回的是字符串形式的参数,例如:class_id=3&id=2& function getUrlArgStr(){ var ...

  4. javascript获取url中对应参数的方法

    利用正则表达式和location.search方法,可以简便的获取到对应的参数:   function getQueryString(name) {var reg = new RegExp(" ...

  5. 获取url后面的参数的方法

    1. function GetRequest() { var url = 'http://wwww.jb51.net/?q=js'; //获取url中"?"符后的字串 if (ur ...

  6. 分享关于js解析URL中的参数的方法

    function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...

  7. pyqt4:连接的一个带有参数的方法

    一般在pyqt4中的信号连接很少连接带参数的方法,很多时候连接带参数的方法节约不少代码量. self.s5_thread=scene.Worker5() self.log_get=QtCore.QTi ...

  8. 使用JS准确获取URL网址中参数的几种方法

    记录下使用JS准确获取URL网址中参数的方法: 参考链接1. https://blog.csdn.net/Zhihua_W/article/details/54845945?utm_source=bl ...

  9. js获取url中的参数,并保证获取到的参数不乱码

    //网上比较经典的js获取url中的参数的方法 function getQueryString(name) { var reg = new RegExp("(^|&)" + ...

  10. 【小知识点】js无需刷新在url地址添加参数

    今天后端同事找我,问我一个关于js无需刷新在url地址添加参数的方法. 然后我百度啊,终于在一篇文章找到了办法,非常简单的一句代码. window.history.pushState({}, 0, w ...

随机推荐

  1. Q查询和F查询

    F查询与Q查询 F查询 Django 提供 F() 来做这样的比较.F() 的实例可以在查询中引用字段,来比较同一个 model 实例中两个不同字段的值. # 查询评论数大于收藏数的书籍 from d ...

  2. Nginx负载均衡4种方案

    1.轮询 轮询即Round Robin,根据Nginx配置文件中的顺序,依次把客户端的Web请求分发到不同的后端服务器. 配置的例子如下:http{     upstream sampleapp { ...

  3. JavaScript的知识点整理

    最近写了一个员工管理作业,暴露了一些问题就是. JS的查找标签的时候,要确定返回的是DOM对象还是数组,document对象可以是任意dom对象,将查询范围限制在当前dom对象, 1.直接查找标签 d ...

  4. Java8函数式编程(A)

    将行为作为数据传递 函数编程的最直接的表现,莫过于将函数作为数据自由传递,结合泛型推导能力,使代码表达能力获得飞一般的提升. Java8怎么支持函数式编程? 主要有三个核心概念: 函数接口(Funct ...

  5. PGI 用户手册之 Site-Specific Customization of the Compilers

    翻译自PGI Compiler User's Guide 1.6. 使用PGI编译器进行并行编程 PGI编译器支持多种样式的并行编程: 使用pgf77,pgf95,pgfortran,pgcc或pgc ...

  6. wsl无法创建文件与修改文件

    wsl无法创建文件与修改文件 sudo chown -R username /home/your_folder/ 请将用户名换成你的用户名 且目录换成你想要操作的目录

  7. Ubuntu下CodeBlocks控制台程序中文显示乱码解决问题

    今天在CodeBlocks下折腾来半天,终于把中文乱码给解决了,其实很简单. 在环境设置里进行如下设置:把Terminal to launch console programs那个选项改成gnome- ...

  8. R7-1 判断回文字符串

    R7-1 判断回文字符串 分数 15 全屏浏览题目 切换布局 作者 颜晖-历年试卷 单位 浙大城市学院 输入一个字符串,判断该字符串是否为回文.回文就是字符串中心对称,从左向右读和从右向左读的内容是一 ...

  9. nginx配置透明代理

    来自:https://blog.csdn.net/weixin_34072458/article/details/91677177 user nginx; worker_processes auto; ...

  10. 上传文件-jq

    var formFile = new FormData(); formFile.append("[file]", fileObj); formFile.append("t ...