jae-jae / QueryList

:spider: The progressive PHP crawler framework! 优雅的渐进式PHP采集框架。
https://querylist.cc
2.65k stars 441 forks source link

support postJson方法,在请求方法里加入混淆头部的实现 #22

Closed mountainguan closed 5 years ago

mountainguan commented 6 years ago

实现混淆跟postJson/post/get方法的连用,为了实现下面的形式

$ql = QueryList::getInstance();
$ql->use(DisguisePlugin::class);
$ql->disguiseIp()->disguiseUa()->get('http://httpbin.org/get',[
        'param1' => 'testvalue',
        'params2' => 'somevalue'
    ],[
    //设置超时时间,单位:秒
        'timeout' => 30,
        'headers' => [
         'Referer' => 'https://querylist.cc/',
        'Accept'     => 'application/json',
        'X-Foo'      => ['Bar', 'Baz'],
         'Cookie'    => 'abc=111;xxx=222'
    ]
]);
echo $ql->getHtml();die;

输出:

{
    "args": {
        "param1": "testvalue",
        "params2": "somevalue"
    },
    "headers": {
        "Accept": "application/json",
        "Connection": "close",
        "Cookie": "abc=111;xxx=222",
        "Host": "httpbin.org",
        "Http-Client-Ip": "66.154.177.127",
        "Proxy-Client-Ip": "66.154.177.127",
        "Referer": "https://querylist.cc/",
        "User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11",
        "Wl-Proxy-Client-Ip": "66.154.177.127",
        "X-Foo": "Baz"
    },
    "origin": "66.154.177.127, 14.221.237.15",
    "url": "http://httpbin.org/get?param1=testvalue¶ms2=somevalue"
}

上面的IP和UA都是随机生成,也就是经过我的改造实现的