廢話很少說,直接上代碼,作個筆記。php
$url="http://localhost/header_server.php"; $body = array("mobile"=>"13899999999", "username"=>"Nick"); $header = array("Content-Type:multipart/x-www-form-urlencoded", "token:test", "client:h5");
$result = curlPost($url, $body, 5, $header, 'json'); var_dump($result); /** * 傳入數組進行HTTP POST請求 */ function curlPost($url, $post_data = array(), $timeout = 5, $header = "", $data_type = "") { $header = empty($header) ? '' : $header; //支持json數據數據提交 if($data_type == 'json'){ $post_string = json_encode($post_data); }elseif($data_type == 'array') { $post_string = $post_data; }elseif(is_array($post_data)){ $post_string = http_build_query($post_data, '', '&'); } $ch = curl_init(); // 啓動一個CURL會話 curl_setopt($ch, CURLOPT_URL, $url); // 要訪問的地址 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 對認證證書來源的檢查 // https請求 不驗證證書和hosts curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 從證書中檢查SSL加密算法是否存在 curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模擬用戶使用的瀏覽器 //curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自動跳轉 //curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自動設置Referer curl_setopt($ch, CURLOPT_POST, true); // 發送一個常規的Post請求 curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string); // Post提交的數據包 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); // 設置超時限制防止死循環 curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); //curl_setopt($curl, CURLOPT_HEADER, 0); // 顯示返回的Header區域內容 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 獲取的信息以文件流的形式返回 curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //模擬的header頭 $result = curl_exec($ch); // 打印請求的header信息 //$a = curl_getinfo($ch); //var_dump($a); curl_close($ch); return $result; }
幾點經驗:算法