zoukankan      html  css  js  c++  java
  • #.NET分别以GET和POST方式抓取远程页面

    代码
    引入命名空间
    using System.IO;
    using System.Net;
    using System.Text;
    using System.Text.RegularExpressions;

    //以GET方式抓取远程页面内容
        public string Get_Http(string tUrl)
        {
            
    string strResult;
            
    try
            {
                HttpWebRequest hwr 
    = (HttpWebRequest)HttpWebRequest.Create(tUrl);
                hwr.Timeout 
    = 19600;
                HttpWebResponse hwrs 
    = (HttpWebResponse)hwr.GetResponse();
                Stream myStream 
    = hwrs.GetResponseStream();
                StreamReader sr 
    = new StreamReader(myStream, Encoding.Default);
                StringBuilder sb 
    = new StringBuilder();
                
    while (-1 != sr.Peek())
                {
                    sb.Append(sr.ReadLine() 
    + "\r\n");
                }
                strResult 
    = sb.ToString();
                hwrs.Close();
            }
            
    catch (Exception ee)
            {
                strResult 
    = ee.Message;
            }
            
    return strResult;
        }

    //以POST方式抓取远程页面内容
    //postData为参数列表
        public string Post_Http(string url, string postData, string encodeType, out string err)
        {
            
    string uriString = url;
            
    byte[] byteArray;
            
    byte[] responseArray;
            
    //postData = "checkvalue=32&bbb=%CD%B6%C6%B1&ilc=0&kkk=22";
            Encoding encoding = Encoding.GetEncoding(encodeType);
            
    try
            {
                WebClient myWebClient 
    = new WebClient();
                WebHeaderCollection myWebHeaderCollection;
                myWebClient.Headers.Add(
    "Content-Type""application/x-www-form-urlencoded");
                
    //myWebClient.Headers.Add("Referer","http://xxxxx/xxxxxxxxxxxxxxxxxxxxxxxx");  
                
    //myWebClient.Headers.Add("Accept-Language","zh-cn");  
                myWebHeaderCollection = myWebClient.Headers;

                byteArray 
    = encoding.GetBytes(postData);
                responseArray 
    = myWebClient.UploadData(uriString, "POST", byteArray);
                err 
    = string.Empty;
                
    return this.StrClearNoUse(encoding.GetString(responseArray));
            }
            
    catch (Exception ex)
            {
                err 
    = ex.Message;
                
    return string.Empty;
            }
        }
  • 相关阅读:
    大的FIbonacci数列_Java求法
    HDU1134_Game of Connections 卡特兰数
    oracle中查询锁表
    SpringBoot之使用Druid连接池以及SQL监控和spring监控
    用vue封装插件并发布到npm
    vue 预览 Excel 表格
    vue + elementUI 表格 底部 合计总数
    springboot项目中实现访问druid内置监控页面
    解决Elementui eltable合计 showsummary不显示,样式混乱问题
    Druid连接池:慢查询监控
  • 原文地址:https://www.cnblogs.com/hantianwei/p/1870802.html
Copyright © 2011-2022 走看看