文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>#.NET分别以GET和POST方式抓取远程页面

#.NET分别以GET和POST方式抓取远程页面

时间:2010-11-06  来源:韩天伟

代码 引入命名空间
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;
        }
    }

 

 

相关阅读 更多 +
排行榜 更多 +
西安交大通

西安交大通

生活实用 下载
长江云通

长江云通

生活实用 下载
translatez

translatez

生活实用 下载