首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Casper --代理不起作用

Casper --代理不起作用
EN

Stack Overflow用户
提问于 2013-05-30 16:05:11
回答 3查看 8.1K关注 0票数 3

下面是我使用http://whatismyipaddress.com/proxy-check检查IP地址的代码

代码语言:javascript
运行
复制
var casper = require("casper").create(),
    utils = require('utils');

casper.userAgent('Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0');

casper.start("http://whatismyipaddress.com/proxy-check", function() {
  this.capture('0.png');
});

casper.on('remote.message', function(msg) {
    this.echo('Remote: ' + msg);
})

casper.run(function() {
  this.echo('End');

  //finish execution script 
  this.exit();  

});

我输入了casperjs --proxy="xxx.xxx.xxx.xxx:80" proxy.js,但屏幕截图正是我机器上的IP地址。

那么,我如何知道代理是不是坏了,或者我的代码或命令行中是否有错误?

EN

回答 3

Stack Overflow用户

发布于 2013-05-31 05:10:21

如果您想测试casperjs是否成功地使用代理服务器,您可以使用以下脚本测试。它向whatismyip.com发出请求并打印casperjs使用的IP地址。

代码语言:javascript
运行
复制
//create casper object
var casper = require('casper').create();

casper.start('http://www.whatismyip.com/');

//to avoid 'Access Denied'  <!-- Error #1010 -->
//The owner of this website (www.whatismyip.com) has banned  
//your access based on your browser's signature (42c0a6c6-cl-ua-50). (Ref. 1010)
casper.userAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X)');

//Home Page
casper.then(function() {

    if(this.exists('div#greenip')){

        var element = this.evaluate(function() {
            //remove unnecessari nodes
            return jQuery('div#greenip').text().trim();
        });

        console.log(element);   
    }else{
        console.log("ACCESS_DENIED");   
    }    

});

casper.run(function() {

    //finish execution script 
    this.exit();
});

输出:

proxy.js --代理=xxx.xxx:60099--代理身份验证=用户名:密码casperjs

XXX.XXX

票数 5
EN

Stack Overflow用户

发布于 2014-03-05 23:12:22

使用http://ip-addr.es/的较短的casperjs脚本

代码语言:javascript
运行
复制
var casper = require('casper').create();
var url = 'http://ip-addr.es/';

casper.start(url, function() {
    var js = this.evaluate(function() {
        return document; 
    }); 
    this.echo(js.all[0].outerText); 
});
casper.run();

假设您已经将前面的脚本保存为casperjs,并且您有一个监听本地主机端口8000的SOCKSv5代理,那么您可以检查casperjs当前是否正在使用代理作为:

代码语言:javascript
运行
复制
simone@tramontana:~$ casperjs  whatismyip.js 
93.[xx].[xx].226 # I've hidden a couple of bytes of my real IP ;)

simone@tramontana:~$ casperjs --proxy=127.0.0.1:8000 --proxy-type=socks5 whatismyip.js 
46.23.73.4
票数 4
EN

Stack Overflow用户

发布于 2013-05-30 21:49:25

我运行了你的代码,它很适合我

在没有代理的情况下运行脚本。

casperjs proxy.js

使用代理运行脚本。

密码

--proxy=208.72.118.16:60099 --proxy-auth=用户名:密码proxy.js

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16830952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档