Bash PhantomJS:使用Cloudflare保护从网站下载文件

Bash PhantomJS:使用Cloudflare保护从网站下载文件,bash,debian,phantomjs,casperjs,Bash,Debian,Phantomjs,Casperjs,我有这个代码,想下载一个文件。解析受保护站点的源代码工作正常,但文件下载不起作用。也许有人能告诉我错误在哪里 "use strict"; var page = require('webpage').create(), system = require('system'), address, delay; var fs = require('fs'); if (system.args.length < 3 || system.args.length > 5) {

我有这个代码,想下载一个文件。解析受保护站点的源代码工作正常,但文件下载不起作用。也许有人能告诉我错误在哪里

"use strict";
var page = require('webpage').create(),
    system = require('system'),
    address, delay;

 var fs = require('fs');

if (system.args.length < 3 || system.args.length > 5) {
    console.log('Usage: delay.js URL delay');
    phantom.exit(1);
} else {
    address = system.args[1];
    delay = system.args[2];
    page.open(address, function (status) {
        if (status !== 'success') {
            console.log('Unable to load the address!');
            phantom.exit(1);
        } else {
            window.setTimeout(function () {
                var content = page.content;
                fs.write(address);
                console.log(content);
                phantom.exit();
            }, delay);
        }
    });
}
“严格使用”;
var page=require('webpage')。create(),
系统=要求(“系统”),
地址、延迟;
var fs=需要('fs');
if(system.args.length<3 | | system.args.length>5){
log('Usage:delay.js URL delay');
幻影。出口(1);
}否则{
地址=system.args[1];
延迟=系统参数[2];
第页打开(地址、功能(状态){
如果(状态!=“成功”){
console.log('无法加载地址!');
幻影。出口(1);
}否则{
setTimeout(函数(){
var content=page.content;
财政司司长(地址);
控制台日志(内容);
phantom.exit();
},延误);
}
});
}
我是这样执行的:


phantomjs delay.jshttps://my.url/file.txt 10000

好的,我解决了。使用Python并在之前安装了“cfscrape”

import cfscrape
import sys

scraper = cfscrape.create_scraper()

url = (sys.argv[1])
cfurl = scraper.get(url).content
name = url.split('/')[-1]

with open(name, 'wb') as f:
    f.write(cfurl)