php模拟POST请求提交数据
1.基于fsockopen
function phppost00($jsonString){ $URL='https://www.jy.com/phppostok.php'; $post_data['clientname'] = $jsonString; $referrer=""; $URL_Info=parse_url($URL); foreach($post_data as $key=>$value) $values[]="$key=".$value; $data_string=implode("&",$values); // Find out which port is needed - if not given use standard (=80) if(!isset($URL_Info["port"])) $URL_Info["port"]=80; // building POST-request: $request=''; $request.="POST ".$URL_Info["path"]." HTTP/1.1 "; $request.="Host: ".$URL_Info["host"]." "; //$request.="Referer: $referrer "; $request.="Content-type: application/x-www-form-urlencoded "; $request.="Content-length: ".strlen($data_string)." "; $request.="Connection: close "; $request.=" "; $request.=$data_string." "; $fp = fsockopen($URL_Info["host"],$URL_Info["port"]); fputs($fp, $request); $result=''; while(!feof($fp)) { $result .= fgets($fp, 128); } fclose($fp); }
2.基于curl_init
function phppost($jsonString){ $url='http://www.jy.com/phppostok.php'; $fields=$jsonString; $ch=curl_init(); curl_setopt($ch,CURLOPT_POST, true); curl_setopt($ch,CURLOPT_RETURNTRANSFER, true); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_POST,count($fields)); curl_setopt($ch,CURLOPT_POSTFIELDS,$fields); $response=curl_exec($ch); curl_close($ch); $result = json_decode($response,true); return $result; }