如何在 Request-Promise 请求中使用代理?
How can I use proxies in Request-Promise requests?
我正在尝试使用 HTTP 代理文件,为每个请求选择一个随机代理,然后使用请求承诺库进行请求。
const rp = require('request-promise'),
fs = require('fs')
var proxies = []
function sendR() {
let proxy = getProxy()
console.log('Got proxy ' + proxy)
let requestThing = rp.defaults({
method: 'GET',
proxy: 'http://' + proxy
})
requestThing('http://server.test.ip:1234').then((body) => {
console.log(body)
})
}
function getProxy() {
return proxies[Math.floor(Math.random() * proxies.length)]
}
fs.readFile('proxy.txt', (err, data) => {
if (err) throw err
proxies = data.toString().split("\n")
})
setTimeout(sendR, 1000)
我收到错误未处理的拒绝请求错误:错误:连接 ETIMEDOUT 1.1.1.1:80,我经常检查所有代理。
只是继续测试有效。这样做修复了它。
const rp = require('request-promise'),
fs = require('fs')
var proxies = []
function sendR() {
let proxy = getProxy()
console.log('Got proxy ' + proxy)
let requestThing = rp.defaults({
method: 'GET',
proxy: 'http://' + proxy,
jar: true
})
requestThing('http://a').then((body) => {
console.log(body)
}).catch((e) => {
console.log('Error with proxy ' + proxy)
})
}
function getProxy() {
return proxies[Math.floor(Math.random() * proxies.length)]
}
fs.readFile('proxy.txt', (err, data) => {
if (err) throw err
proxies = data.toString().split("\n")
})
setTimeout(() => {
setInterval(sendR, 50)
}, 1000)
我猜问题出在代理上,因为最终通过了很多代理测试。我的错。 https://i.imgur.com/h5WOyCN.png
我正在尝试使用 HTTP 代理文件,为每个请求选择一个随机代理,然后使用请求承诺库进行请求。
const rp = require('request-promise'),
fs = require('fs')
var proxies = []
function sendR() {
let proxy = getProxy()
console.log('Got proxy ' + proxy)
let requestThing = rp.defaults({
method: 'GET',
proxy: 'http://' + proxy
})
requestThing('http://server.test.ip:1234').then((body) => {
console.log(body)
})
}
function getProxy() {
return proxies[Math.floor(Math.random() * proxies.length)]
}
fs.readFile('proxy.txt', (err, data) => {
if (err) throw err
proxies = data.toString().split("\n")
})
setTimeout(sendR, 1000)
我收到错误未处理的拒绝请求错误:错误:连接 ETIMEDOUT 1.1.1.1:80,我经常检查所有代理。
只是继续测试有效。这样做修复了它。
const rp = require('request-promise'),
fs = require('fs')
var proxies = []
function sendR() {
let proxy = getProxy()
console.log('Got proxy ' + proxy)
let requestThing = rp.defaults({
method: 'GET',
proxy: 'http://' + proxy,
jar: true
})
requestThing('http://a').then((body) => {
console.log(body)
}).catch((e) => {
console.log('Error with proxy ' + proxy)
})
}
function getProxy() {
return proxies[Math.floor(Math.random() * proxies.length)]
}
fs.readFile('proxy.txt', (err, data) => {
if (err) throw err
proxies = data.toString().split("\n")
})
setTimeout(() => {
setInterval(sendR, 50)
}, 1000)
我猜问题出在代理上,因为最终通过了很多代理测试。我的错。 https://i.imgur.com/h5WOyCN.png