Casper --proxy不起作用

HP.*_*HP. 3 proxy node.js web-scraping phantomjs casperjs

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

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();  

});
Run Code Online (Sandbox Code Playgroud)

我键入casperjs --proxy="xxx.xxx.xxx.xxx:80" proxy.js 但截图正是我机器上的IP地址.

那么我怎么知道代理是坏的还是我的代码或命令行中出了什么问题呢?

Hem*_*ela 5

如果要测试casperjs是否已成功使用代理服务器,则可以使用以下脚本测试.它使一个请求whatismyip.com并打印由casperjs使用的IP地址.

//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();
});
Run Code Online (Sandbox Code Playgroud)

输出:

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