(转)C#.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;
        }
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值