• 远程带参数POST访问接口,返回数据


    1.

    string token = GetRequest.GetString("token");
                int customer_id = GetRequest.GetInt("UserID");
    
                System.Net.WebClient WebClientObj = new System.Net.WebClient();
                string url = "http://116.62.34.164/get_customer_list";
    
                System.Collections.Specialized.NameValueCollection PostVars = new System.Collections.Specialized.NameValueCollection();
                PostVars.Add("token", "943wski937");
                PostVars.Add("customer_id", customer_id.ToString());
    
                byte[] byRemoteInfo = WebClientObj.UploadValues(url, "POST", PostVars);
    
                //下面都没用啦,就上面一句话就可以了
                string sRemoteInfo = System.Text.Encoding.Default.GetString(byRemoteInfo);
    
                JavaScriptSerializer js = new JavaScriptSerializer();
                var str_Object = js.Deserialize<Advance_money_risk>(sRemoteInfo);
    
                return str_Object;
    POST

    2.

    Encoding encoding = Encoding.GetEncoding("utf-8");
                IDictionary<string, string> parameters = new Dictionary<string, string>();
                parameters.Add("token", token);
                parameters.Add("customer_id", customer_id.ToString());
                HttpWebResponse response = Projectzz.CreatePostHttpResponse(url, parameters, encoding);
                Stream stream = response.GetResponseStream();   //获取响应的字符串流
                StreamReader sr = new StreamReader(stream); //创建一个stream读取流
                string html = sr.ReadToEnd();   //从头读到尾,放到字符串html
                JavaScriptSerializer jss = new JavaScriptSerializer();
                var html_object = jss.Deserialize<Advance_money_risk>(html);
    POST2

    3.

    public class Projectzz
        {
            private static readonly string DefaultUserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
    
            private static bool CheckValidationResult(object sender,  X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
            {
                return true; //总是接受   
            }
    
            public static HttpWebResponse CreatePostHttpResponse(string url, IDictionary<string, string> parameters, Encoding charset)
            {
                HttpWebRequest request = null;
                //HTTPSQ请求
                ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
                request = WebRequest.Create(url) as HttpWebRequest;
                request.ProtocolVersion = HttpVersion.Version10;
                request.Method = "POST";
                request.ContentType = "application/x-www-form-urlencoded";
                request.UserAgent = DefaultUserAgent;
                //如果需要POST数据   
                if (!(parameters == null || parameters.Count == 0))
                {
                    StringBuilder buffer = new StringBuilder();
                    int i = 0;
                    foreach (string key in parameters.Keys)
                    {
                        if (i > 0)
                        {
                            buffer.AppendFormat("&{0}={1}", key, parameters[key]);
                        }
                        else
                        {
                            buffer.AppendFormat("{0}={1}", key, parameters[key]);
                        }
                        i++;
                    }
                    byte[] data = charset.GetBytes(buffer.ToString());
                   // string sRemoteInfo = System.Text.Encoding.Default.GetString(data);
    
                    using (Stream stream = request.GetRequestStream())
                    {
                        stream.Write(data, 0, data.Length);
                    }
                }
                return request.GetResponse() as HttpWebResponse;
            }
    
            //static void Main(string[] args)
            //{
            //    string url = "http://116.62.34.164/get_customer_list";
            //    Encoding encoding = Encoding.GetEncoding("utf-8");
            //    IDictionary<string, string> parameters = new Dictionary<string, string>();
            //    parameters.Add("token", "943wski12937");
            //    parameters.Add("customer_id", "3618");
            //    HttpWebResponse response = Program.CreatePostHttpResponse(url, parameters, encoding);
            //    //打印返回值
            //    Stream stream = response.GetResponseStream();   //获取响应的字符串流
            //    StreamReader sr = new StreamReader(stream); //创建一个stream读取流
            //    string html = sr.ReadToEnd();   //从头读到尾,放到字符串html
            //    Console.WriteLine(html);
            //}
        }
    Class
  • 相关阅读:
    Matlab实现图像切割
    Android --------------------ActionBar 与 ViewPager 和 ActionTab 切换 的源代码实现
    算法导论--装备线调度(升序&amp;&amp;降序输出)
    《打造七星级团队》观后感
    系统架构师秘籍(一)软件架构
    jQuery $.extend()使用方法
    Hadoop自学笔记(五)配置分布式Hadoop环境
    delete与delete [] 真正差别
    LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
    weblogic stuck实验2014-11-14
  • 原文地址:https://www.cnblogs.com/zhangtaotqy/p/8717744.html
Copyright © 2020-2023  润新知