天天看点

【实用代码】

function httpRequest ($url, $postData = false)
{
    $ch = curl_init();
    //设置超时
    curl_setopt($ch, CURLOPT_TIMEOUT, );
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    if ($postData) {
        curl_setopt($ch, CURLOPT_POST, );
        curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
    }
    $header = [
        'CLIENT-IP:'. getIp(),
        'X-FORWARDED-FOR:'.getIp(),
    ];
    curl_setopt($ch, CURLOPT_HEADER, $header);
    curl_setopt($ch, CURLOPT_REFERER, "http://www.10086.cn/");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $res = curl_exec($ch);
    curl_close($ch);
    return $res;
}

function getIp()
{
    return mt_rand(, ) . '.' . mt_rand(, ) . '.' . mt_rand(, ) . '.' . mt_rand(, );
}
           
浏览器 chrome console 调试神器
加入jquery
;(function(d, s){d.body.appendChild(s = d.createElement('script')).src = 'http://code.jquery.com/jquery-1.9.1.min.js'})(document,null); 
           
$_GET  处理get方式返回的数值
$_POST 处理post方式返回的数值
$GLOBALS["HTTP_RAW_POST_DATA"] 处理xml方式返回的数值

因为返回的数组,您可以通过serialize() 进行序列化 
           

// 请求log

我自己写的一些函数
$requestUrl = date('Y-m-d H:i:s', time()) . PHP_EOL;

$requestUrl .= "<<<<<<<<<<XML>>>>>>>" . PHP_EOL . serialize($GLOBALS["HTTP_RAW_POST_DATA"]) . PHP_EOL;

$requestUrl .= "<<<<<<<<<<POST>>>>>>>" . PHP_EOL. serialize($_POST) . PHP_EOL;

$requestUrl .= "<<<<<<<<<<GET>>>>>>>" . PHP_EOL . serialize($_GET) . PHP_EOL;

file_put_contents('./0.log', $requestUrl . PHP_EOL, FILE_APPEND );
           

注意:对0.log这个文件要有可写的权限