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\n";$request.="Host: ".$URL_Info["host"]."\n";//$request.="Referer: $referrer\n";$request.="Content-type: application/x-www-form-urlencoded\n";$request.="Content-length: ".strlen($data_string)."\n";$request.="Connection: close\n";$request.="\n";$request.=$data_string."\n";$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;}