PHP でポストリクエストをシミュレートするには、fsocket を使用する方法と、curl を使用する方法の 2 つの主な方法があります。
以下は、PHP がこれら 2 つのメソッドを使用してポストリクエストをシミュレートする方法の簡単な例です。
(1) PHP は fsocket を介してポスト送信リクエストをシミュレートします
<p><?php</p>function sock_post($url,$query){<br /> $info=parse_url($url);<br /> $fp=fsockopen($info["host"],80,$errno,$errstr,3);<br /> $head="POST ".$info['path']." HTTP/1.0\r\n";<br /> $head.="Host: ".$info['host']."\r\n";<br /> $head.="Referer: http://".$info['host'].$info['path']."\r\n";<br /> $head.="Content-type: application/x-www-form-urlencoded\r\n";<br /> $head.="Content-Length: ".strlen(trim($query))."\r\n";<br /> $head.="\r\n";<br /> $head.=trim($query);<br /> $write=fputs($fp,$head);<br /> while(!feof($fp)){<br /> $line=fgets($fp);<br /> echo $line."<br>";<br /> }<br /><p>}</p>
使用方法は次のとおりです ($url パラメーターに注意してください)ドメイン名である必要があります。localhost の形式の URL は使用できません):
<p>$purl="http://www.scutephp.com/post.php";</p>echo "以下是POST方式的响应内容:<br>"; <br /><p>sock_post($purl,"name=php程序员教程网&url=http://www.scutephp.com/");</p>
(2) PHP は、curl < を介してポスト送信リクエストをシミュレートします。 🎜>
<p><?php</p>$url='http://www.scutephp.com/post.php';<br />$fields=array(<br /> 'lname'=>'justcoding',<br /> 'fname'=>'phplover',<br /> 'title'=>'myapi',<br /> 'email'=>'1290026290@qq.com',<br /> 'phone'=>'188888888888'<br />);<br />$ch=curl_init();<br />curl_setopt($ch,CURLOPT_URL,$url);<br />curl_setopt($ch,CURLOPT_POST,count($fields));<br />curl_setopt($ch,CURLOPT_POSTFIELDS,$fields);<br />ob_start();<br />curl_exec($ch);<br />$result=ob_get_contents();<br />ob_end_clean();<br />echo $result;<br />curl_close($ch);