php模拟POST请求提交数据

时间:2023-04-04 19:07:32

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;
}