小编Kev*_*vin的帖子

使用Google Analytics隐藏CasperJS的足迹

我试图用我的脚本隐藏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)

google-analytics phantomjs casperjs

8
推荐指数
2
解决办法
2364
查看次数

为什么我的curl connect_time总是等于0?

我正在尝试测试一些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)

php proxy curl

8
推荐指数
1
解决办法
617
查看次数

使用Laravel的PHP无限脚本

我有一个表用户需要连续上传,所以一旦更新,我想直接重新启动命令.

事实上,我使用的自行启动一个cron每分钟有Laravel( $schedule->command('update:users')->everyMinute();),但我失去了一些时间,如果工作是快超过一分钟,我会超载我的服务器如果超过一分钟.

我当时想要使用一个队列,一旦脚本终止,就会自行重启,如下所示:

// Do My stuff
Queue::push(new UpdateUsers($));
Run Code Online (Sandbox Code Playgroud)

但如果脚本崩溃,它将不会重新加载,我需要至少启动一次.我知道我可以使用pcntl_fork函数,但我想在Laravel上有一个交钥匙功能.我应该怎么做 ?

php laravel

4
推荐指数
1
解决办法
928
查看次数

覆盖text-align属性

我想覆盖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)

做这个的最好方式是什么?

html css

3
推荐指数
1
解决办法
3万
查看次数

在不同服务器上执行相同php脚本的最佳方法是什么?

我有一个名为MY_SCRIPT的脚本,我需要在不同的服务器(A,B和C)上传,以解决性能问题.此脚本对所有服务器都相同.

对此进行较少维护的最佳方法是什么?

我在想这个问题:

<?php
eval(file_get_contents("http://user:passwd@www.mysecurewebsite.com/myscript.txt"));
?>
Run Code Online (Sandbox Code Playgroud)

你怎么看待这件事 ?

php security

1
推荐指数
1
解决办法
138
查看次数

标签 统计

php ×3

casperjs ×1

css ×1

curl ×1

google-analytics ×1

html ×1

laravel ×1

phantomjs ×1

proxy ×1

security ×1