前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正确的使用HTTP代理

正确的使用HTTP代理

原创
作者头像
用户6172015
修改2020-11-18 17:57:08
1.2K0
修改2020-11-18 17:57:08
举报
文章被收录于专栏:网络爬虫网络爬虫

HTTP代理对于网络爬虫是一种很常见的协议,HTTP代理协议也是大数据时代不可缺少的一部分。HTTP代理在网络爬虫中发挥出了他大量用途。HTTP代理其实有许多用途,例如:刷票,爬虫,抢单,刷单,等等一系列业务 都适合HTTP代理。其实对于网络爬虫工作来着说,许多网络工作者都不知道如何使用HTTP代理。那么如何才能正确使用HTTP代理呢?

1、大数据时代,各类网站的限制,限制爬虫,限制访问等导致无法访问和获取数据,这对爬虫用户就会产生极大的影响,这是网络爬虫用户就会运行HTTP代理来完成这些工作。网络爬虫需要在短时间内采集到大量数据,就需要运行HTTP代理IP,避免网站的反爬和网站的IP限制。使用网络爬虫程序接入HTTP代理,直接采集数据即可。

使用HTTP代理方案:

代码语言:javascript
复制
const http = require("http");
const url = require("url");

// 要访问的目标页面
const targetUrl = "http://httpbin.org/ip";


const urlParsed = url.parse(targetUrl);

// 代理服务器(产品官网 www.16yun.cn)
const proxyHost = "t.16yun.cn";
const proxyPort = "36600";

// 生成一个随机 proxy tunnel
var seed = 1;
function random() {
    var x = Math.sin(seed++) * 10000;
    return x - Math.floor(x);
}
const tunnel = random()*100;

// 代理验证信息
const proxyUser = "username";
const proxyPass = "password";

const base64    = new Buffer.from(proxyUser + ":" + proxyPass).toString("base64");

const options = {
    host: proxyHost,
    port: proxyPort,
    path: targetUrl,
    method: "GET",
    headers: {
        "Host": urlParsed.hostname,
        "Proxy-Tunnel": tunnel,
        "Proxy-Authorization" : "Basic " + base64
    }
};

http.request(options, function (res) {
    console.log("got response: " + res.statusCode);
    res.pipe(process.stdout);
}).on("error", function (err) {
    console.log(err);
}).end();

2、或者直接在网站服务器上使用HTTP代理,把HTTP代理直接配置到浏览器当中,在HTTP代理有效时间内访问即可,这样也能修改访问的IP。只不过这种使用方式对于爬虫用户来说,麻烦,不方便,建议使用上面的方案。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档