zoukankan      html  css  js  c++  java
  • C# HTTP Get Post 提交数据可以指定代理IP、指定浏览器、指定来源

            /// <summary>
            /// Get读取数据
            /// </summary>
            /// <param name="myUrl">网址</param>
            /// <param name="myProxy">IP代理</param>
            /// <param name="myUserAgent">浏览器</param>
            /// <param name="myReferer">来源</param>
            /// <returns></returns>
            private string HttpGetData(string myUrl, WebProxy myProxy = null, string myUserAgent = "", string myReferer = "")
            {
                try
                {
                    //创建请求
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(myUrl);
                    if (myProxy != null) request.Proxy = myProxy; //设置代理
                    if (!string.IsNullOrWhiteSpace(myReferer)) request.Referer = myReferer;
                    if (!string.IsNullOrWhiteSpace(myReferer)) request.UserAgent = myUserAgent;//浏览器
    
                    request.Method = "GET";//请求方式
                    request.ContentType = "text/html;charset=UTF-8";//类型
                    request.Timeout = 3000;//超时
    
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                    Stream stream = response.GetResponseStream();
                    string responseStr = "";
                    if (stream != null)
                    {
                        StreamReader reader = new StreamReader(stream, Encoding.UTF8);
                        responseStr = UnicodeToGB(reader.ReadToEnd());
                        reader.Close();
                    }
                    response.Close();
    
                    return responseStr;
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }
            }
    
    
            /// <summary>
            /// Post提交数据
            /// </summary>
            /// <param name="myUrl">网址</param>
            /// <param name="myParam">参数</param>
            /// <param name="myProxy">IP代理</param>
            /// <param name="myUserAgent">浏览器</param>
            /// <param name="myReferer">来源</param>
            /// <returns></returns>
            public string HttpPostData(string myUrl, string myParam, WebProxy myProxy = null, string myUserAgent = "", string myReferer = "")
            {
                try
                {
                    //创建请求
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(myUrl);
                    if (myProxy != null) request.Proxy = myProxy; //设置代理
                    if (!string.IsNullOrWhiteSpace(myReferer)) request.Referer = myReferer;
                    if (!string.IsNullOrWhiteSpace(myReferer)) request.UserAgent = myUserAgent;//浏览器
    
                    request.Method = "POST";//请求方式
                    request.ContentType = "application/json;charset=UTF-8";//类型     
                    request.Timeout = 3000;//超时
    
                    byte[] payload = Encoding.UTF8.GetBytes(myParam);//参数编码
                    request.ContentLength = payload.Length;
    
                    //发送post的请求,写入参数
                    Stream writer = request.GetRequestStream();
                    writer.Write(payload, 0, payload.Length);
                    writer.Close();
    
                    //接受返回来的数据
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                    Stream stream = response.GetResponseStream();
    
                    string responseStr = "";
                    if (stream != null)
                    {
                        StreamReader reader = new StreamReader(stream, Encoding.UTF8);
                        responseStr = UnicodeToGB(reader.ReadToEnd());
                        reader.Close();
                    }
                    response.Close();
    
                    return responseStr;
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }
            }
    

      

  • 相关阅读:
    云栖大会|盛宴之下,共赴一场视频云的进化论
    云栖大会|感受万物数字化,体验千行视频化
    浅谈语音质量保障:如何测试 RTC 中的音频质量?
    一朵云、一张网、一体化 ——GRTN 打造最佳流媒体场景实践
    穿越时空,跟我一起探索云栖数字谷(2021云栖大会免费送票)
    如何实现 iOS 短视频跨页面的无痕续播?
    如何实现 Android 短视频跨页面的流畅续播?
    揭秘盒马鲜生 Android 短视频秒播优化方案
    SQLServer2012SP1-FullSlipstream-CHS-x64标准版.iso
    mes系统是做什么的?MES是什么全称是什么?
  • 原文地址:https://www.cnblogs.com/wxbug/p/14852113.html
Copyright © 2011-2022 走看看