我试图用我的脚本隐藏CasperJS的利用率.目前我正在尝试更改分辨率,用户代理和语言:
casper.userAgent("My UA");
casper.viewport(1600, 900);
casper.page.customHeaders = {'Accept-Language': 'fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3'};
Run Code Online (Sandbox Code Playgroud)
casper.viewport()和casper.page.customHeaders似乎不适用于Google Analytics ...在尝试某些网站时,它似乎没问题,但Google Analytics会看到我是一个网络刮刀:
My lang is "c"
Compatibility with JAVA : no
Screen resolution : 1024x768
Flash version : not set
Run Code Online (Sandbox Code Playgroud)
我有什么可以做的吗?
(一块)解决方案
感谢kasper pedersen,这是解决方案的一部分:
我们可以在初始化部分覆盖一些变量:
casper.on('page.initialized', function (page) {
page.evaluate(function () {
(function() {
window.screen = {
width: 1600,
height: 900
};
window.navigator.__defineGetter__('javaEnabled', function () {
return function() { return true; };
});
})
});
});
Run Code Online (Sandbox Code Playgroud)
这会破坏Windows解析和Java插件.为了伪造闪存插件,我们可以做类似的事情:
casper.on('page.initialized', function (page) {
page.evaluate(function () {
(function() {
window.screen = { …Run Code Online (Sandbox Code Playgroud) 我正在尝试测试一些SOCKS代理,并且当试图获得此代理的"ping"时间时,我正在寻找变量"connect_time".对于HTTP和HTTPS代理,这似乎工作正常,但不适用于SOCKS(SOCKS4或SOCKS5)代理,其中connect_time始终等于0(或几乎......)!
{
"url":"XXX",
"content_type":"text/html",
"http_code":200,
"header_size":178,
"request_size":379,
"filetime":-1,
"ssl_verify_result":0,
"redirect_count":0,
"total_time":4.738683,
"namelookup_time":0.000021,
"connect_time":0.000023,
"pretransfer_time":0.000104,
"size_upload":140,
"size_download":51275,
"speed_download":10820,
"speed_upload":29,
"download_content_length":-1,
"upload_content_length":140,
"starttransfer_time":0.000149,
"redirect_time":0,
"certinfo":{
},
"redirect_url":""
}
Run Code Online (Sandbox Code Playgroud)
这是我的一段代码:
$options = array(
CURLOPT_PROXY => $proxy->ip.':'.$proxy->port,
CURLOPT_TIMEOUT => 30,
CURLOPT_CONNECTTIMEOUT => 30,
CURLOPT_HEADER => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array('Expect:'),
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_VERBOSE => FALSE,
CURLOPT_USERAGENT => 'XXX',
);
if ($proxy->type == 'https')
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
elseif ($proxy->type == 'socks4')
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);
elseif ($proxy->type == 'socks5')
curl_setopt($ch, …Run Code Online (Sandbox Code Playgroud) 我有一个表用户需要连续上传,所以一旦更新,我想直接重新启动命令.
事实上,我使用的自行启动一个cron每分钟有Laravel( $schedule->command('update:users')->everyMinute();),但我失去了一些时间,如果工作是快超过一分钟,我会超载我的服务器如果超过一分钟.
我当时想要使用一个队列,一旦脚本终止,就会自行重启,如下所示:
// Do My stuff
Queue::push(new UpdateUsers($));
Run Code Online (Sandbox Code Playgroud)
但如果脚本崩溃,它将不会重新加载,我需要至少启动一次.我知道我可以使用pcntl_fork函数,但我想在Laravel上有一个交钥匙功能.我应该怎么做 ?
我想覆盖text-align我的代码中的属性.我有这个HTML代码:
<style>
table { text-align: center; }
.align_left { text-align: left; }
</style>
<table>
<tr>
<td class="align_left">Align left ?</td>
<td>Align center ?</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
做这个的最好方式是什么?
我有一个名为MY_SCRIPT的脚本,我需要在不同的服务器(A,B和C)上传,以解决性能问题.此脚本对所有服务器都相同.
对此进行较少维护的最佳方法是什么?
我在想这个问题:
<?php
eval(file_get_contents("http://user:passwd@www.mysecurewebsite.com/myscript.txt"));
?>
Run Code Online (Sandbox Code Playgroud)
你怎么看待这件事 ?