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这个文件要有可写的权限