远程带参数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
原文地址:https://www.cnblogs.com/zhangtaotqy/p/8717744.html