waemz

玩啊学啊,我的人生.
随笔 - 16, 文章 - 0, 评论 - 2, 引用 - 0
数据加载中……

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;
        }
    }

posted on 2007-04-24 00:19 waemz 阅读(333) 评论(1)  编辑 收藏 所属分类: C#

评论

#1楼    回复  引用    

StrClearNoUse?
2008-02-22 11:52 | iexapl [未注册用户]

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-04-24 00:21 编辑过


相关链接: