zoukankan      html  css  js  c++  java
  • HTTP请求

    /// <summary>
            /// 提交数据请求
            /// </summary>
            /// <param name="POSTURL">请求提交的地址 如:https://car.etaiping.com:6004/ecms2/portal/商户号/请求类型(接口名称)
            /// <param name="PostData">提交的数据(字符串)</param>
            /// <returns></returns>
            public string RequestData(string PostData)
            {
                string POSTURL = string.Format("https://www.sina.com.cn");
    
                Encoding myEncoding = Encoding.GetEncoding("UTF-8");
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
                //将提交的字符串数据转换成字节数组
                //注意提交的编码,这里默认的是Default:系统当前编码
                byte[] postData = myEncoding.GetBytes(PostData);
                //设置提交的相关参数 
                HttpWebRequest request = WebRequest.Create(POSTURL) as HttpWebRequest;
    
                //实例化一个证书
                //X509Certificate2 cerCaiShang = GetCertificate();
                ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;
                //request.ClientCertificates.Add(cerCaiShang);
                request.Method = "POST";
                request.KeepAlive = true;
                //request.AllowAutoRedirect = true;
                request.ProtocolVersion = HttpVersion.Version10;
                request.ContentType = "text/xml;charset=utf-8";
                //request.ContentType = "application/x-www-form-urlencoded";
                request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR  3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";
                CookieContainer cookieContainer = new CookieContainer();
                request.CookieContainer = cookieContainer;
                request.ContentLength = postData.Length;
                //request.ClientCertificates.Add(new X509Certificate("C:\CerPath\_Cer.cer"));//证书路径
                
    
                #region 传输数据
                try
                {
                    using (Stream writer = request.GetRequestStream())
                    {
                        writer.Write(postData, 0, postData.Length);
                    }
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }
    
                #endregion
    
                #region 接收返回的数据
                string srcString = string.Empty;
                try
                {
                    HttpWebResponse response = request.GetResponse() as HttpWebResponse;
                    using (Stream sr = response.GetResponseStream())
                    {
                        using (StreamReader reader = new StreamReader(sr, myEncoding))
                        {
                            srcString = reader.ReadToEnd();
                        }
                    }
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }
                #endregion
                return srcString;
            }
    

      

  • 相关阅读:
    记录锁
    linux多线程同步pthread_cond_XXX条件变量的理解
    设置创建文件掩码遇到的问题
    函数的可重入和线程安全
    sigemptyset,sigfillset,sigaddset,sigdelset,sigismember,sigprocmask,sigpendmask作用
    嵌入式中断服务函数的一些特点
    linux alarm函数解除read write等函数的阻塞
    孤儿进程,僵死进程
    标准IO的缓冲问题
    《实用技巧》——让你的网站变成响应式的3个简单步骤
  • 原文地址:https://www.cnblogs.com/XuPengLB/p/5724888.html
Copyright © 2011-2022 走看看