怎么用PHP发送POST请求
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用PHP发送POST请求相关的知识,希望对你有一定的参考价值。
php发送POST请求的三种方式
class Requestpublic static function post($url, $post_data = '', $timeout = 5)//curl
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, 1);
if($post_data != '')
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_HEADER, false);
$file_contents = curl_exec($ch);
curl_close($ch);
return $file_contents;
public static function post2($url, $data)//file_get_content
$postdata = http_build_query(
$data
);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);
$result = file_get_contents($url, false, $context);
return $result;
public static function post3($host,$path,$query,$others='')//fsocket
$post="POST $path HTTP/1.1\\r\\nHost: $host\\r\\n";
$post.="Content-type: application/x-www-form-";
$post.="urlencoded\\r\\n$others";
$post.="User-Agent: Mozilla 4.0\\r\\nContent-length: ";
$post.=strlen($query)."\\r\\nConnection: close\\r\\n\\r\\n$query";
$h=fsockopen($host,80);
fwrite($h,$post);
for($a=0,$r='';!$a;)
$b=fread($h,8192);
$r.=$b;
$a=(($b=='')?1:0);
fclose($h);
return $r;
http://www.oschina.net/code/snippet_729516_33065
参考技术A curl可以实现Godot笔记:用HTTP的POST请求发送JSON数据
参考技术A 基于godot 3.1由于游戏中用HTTP的POST请求携带JSON数据的场景比较多,所以为了方便使用,我根据文档说明封装了一个专用节点"PostRequest"
直接添加节点,开箱即用
注意:HTTPRequest以及PostRequest都有一个共同的特点,即必须在一次请求完成后(即发出回调信号以后),才能开始另一次请求,所以文档上建议,如果要发起多种请求的话,最好是使用多个HTTPRequest节点分别来收发不同的HTTP信息
以上是关于怎么用PHP发送POST请求的主要内容,如果未能解决你的问题,请参考以下文章