实践出真知-C Sharp中集成ip代理(以亿牛云爬虫代理为例)


一、前言

公司最近新增了一个项目需要爬取航空信息数据 ,对方有
ip 屏蔽。所以我需要在 C Sharp中实现ip 自动切换,才能够完成爬取任务。 在此之前, 我找过网上很多家代理测试。都是通过api 接口进行 ip 的调用, 可能是之前代码没有调整好,导致 测试没有 成功。(后面有机会再测试)。 这两天了解了一家新的代理商叫亿牛云,他们有提供一种新的代理使用模式,动态转发,所以这边就以他们家的代理为例测试看下。

亿牛云范例

亿牛云官网有直接给出对应的语言的代码示例我选择的是
C Sharp

C Sharp代码示例

//

要访问的目标页面

string targetUrl = "http://httpbin.org/ip";

//

代理服务器

string proxyHost = "http://t.16yun.cn";

string proxyPort = "6447";

//

代理隧道验证信息

string proxyUser = "16IXNGXO";

string proxyPass = "366338";

//

设置代理服务器

WebProxy proxy = new WebProxy(string.Format("{0}:{1}", proxyHost, proxyPort), true);

ServicePointManager.Expect100Continue = false;

var request = WebRequest.Create(targetUrl) as HttpWebRequest;

request.AllowAutoRedirect = true;

request.KeepAlive = true;

request.Method = "GET";

request.Proxy = proxy;

//request.Proxy.Credentials = CredentialCache.DefaultCredentials;

request.Proxy.Credentials = new System.Net.NetworkCredential(proxyUser, proxyPass);

//

设置
Proxy Tunnel

// Random ran=new Random();

// int tunnel =ran.Next(1,10000);

// request.Headers.Add("Proxy-Tunnel", String.valueOf(tunnel));

//request.Timeout = 20000;

//request.ServicePoint.ConnectionLimit = 512;

//request.UserAgent = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36";

//request.Headers.Add("Cache-Control", "max-age=0");

//request.Headers.Add("DNT", "1");

//String encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(proxyUser + ":" + proxyPass));

//request.Headers.Add("Proxy-Authorization", "Basic " + encoded);

using (var response = request.GetResponse() as HttpWebResponse)

using (var sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8))

{

string htmlStr = sr.ReadToEnd();

}

这是代码的示例,这个 demo
是可以直接复制使用的,所以我就直接复制了,其中代理的配置是需要联系客服开通代理才可以获取的信息。

注意事项

亿牛云的爬虫代理最低支持 ip 1 秒钟请求 5 请求,(如果需要更大的请求量,可以选项对应的产品)。所以,当他是默认是 5 请求 的时候,我需要对爬虫进行限速。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值