1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| <?php // @ini_set('display_errors', 1);
if (!function_exists('getallheaders')) { function getallheaders() { $headers = array(); foreach ($_SERVER as $name => $value) { if (substr($name, 0, 5) == 'HTTP_') { $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value; } } return $headers; } }
function getPOST() { $maGetPostData = []; $handle = @fopen('php://input', 'r'); $data = ''; do { $data = @fread($handle, 1024); if (strlen($data) == 0) break; else $maGetPostData[] = $data; }while(true); fclose($handle); unset($data, $handle); return $maGetPostData; } $content = getPOST();
$headers = getAllHeaders(); $header_joins = []; foreach ($headers as $k => $v) { if ($k == 'Cookie' || $k == 'Content-Type') array_push($header_joins, $k . ': ' . $v); } //自定义头 array_push($header_joins,"Referer :http://www.tooln.cn"); //print_r($headers); //print_r($header_joins);die();
function post($url, $headers, $raw_data) { $user_agent=$_SERVER['HTTP_USER_AGENT']; $ch = curl_init(); if (count($raw_data) > 0) { //存在POST数据需要提交 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); // POST curl_setopt($ch, CURLOPT_POSTFIELDS, $raw_data); // Post Da } curl_setopt($ch, CURLOPT_URL, $url);//设置要访问的 URL curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); //模拟用户使用的浏览器 @curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1 ); // 使用自动跳转 curl_setopt($ch, CURLOPT_TIMEOUT, 60); //设置超时时间 curl_setopt($ch, CURLOPT_AUTOREFERER, 1 ); // 自动设置Referer curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 收集结果而非直接展示 curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); // 自定义 Headers $result = curl_exec($ch); curl_close($ch); return $result; }
$result = post('http://www.tooln.cn/', $header_joins, $content);
echo $result;
|