php 获取httpwebrequest数据,HttpWebRequest获取远程WEB主机HTTP页面(C#)

posted on 2005-05-18 10:44

大部分代码参考.Text Blog

using System;

using ;

using System.IO;

using System.Text;

namespace test

{

public class HttpServerRequest

{

private const int defaultTimeout_ = 60000;

private static string referer_ = @"外链网址已屏蔽www.okbase.net";

private int _nTimeout = 0;

public int Timeout

{

get

{

return _nTimeout;

}

set

{

_nTimeout = value;

}

}

public HttpWebRequest CreateRequest(string url)

{

return CreateRequest(url,referer_);

}

public HttpWebRequest CreateRequest(string url, string referral)

{

WebRequest req = WebRequest.Create(url);

HttpWebRequest wreq = req as HttpWebRequest;

if (null != wreq)

{

wreq.UserAgent = "Mozilla/4.0"; // 不添加UserAgent可能无法穿透某些防火墙

wreq.Referer = referral;

wreq.Timeout = (_nTimeout > 0)? _nTimeout : defaultTimeout_;

}

return wreq;

}

public HttpWebResponse GetResponse(string url)

{

return GetResponse(url,referer_);

}

public HttpWebResponse GetResponse(string url, string referral)

{

HttpWebRequest request = CreateRequest(url);

return (HttpWebResponse)request.GetResponse() ;

}

public string GetPageText(string url)

{

return GetPageText(url,referer_);

}

public string GetPageText(string url, string referral)

{

string str;

HttpWebResponse response = GetResponse(url);

using (Stream s = response.GetResponseStream())

{

string enc = response.ContentEncoding.Trim() ;

if ( enc == "" )

enc = "gb2312"; //enc = "us-ascii";

Encoding encode = System.Text.Encoding.GetEncoding(enc);

using ( StreamReader sr = new StreamReader( s, encode ) )

{

str=sr.ReadToEnd() ;

}

}

response.Close();

return str;

}

}

///

/// Class1 的摘要说明。

///

class Class1

{

///

/// 应用程序的主入口点。

///

[STAThread]

static void Main(string[] args)

{

try

{

HttpServerRequest ServerRequest = new HttpServerRequest();

ServerRequest.Timeout = 16000; // 超时16秒

string pageText = ServerRequest.GetPageText("外链网址已屏蔽www.okbase.net/");

Console.WriteLine(pageText);

}

catch(.WebException ex)

{

Console.WriteLine("出错:"+ex.Message);

}

catch(Exception ex)

{

Console.WriteLine("出错:"+ex.Message);

}

}

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值