PHP HttpPost请求使用介绍
PHP HttpPost请求使用介绍"/>经常使用Http请求来获取或提交数据,其中HttpPost请求就是在请求头部消息中包含请求的主体信息。Php提供了相应的方法来实现HttpPost请求。
下面介绍如何使用Php发送HttpPost请求,首先需要确保是否安装Curl。
if(!function_exists('curl_init')) { echo 'php Curl not installed'; exit; }Curl用来向服务器传输文件、数据、设置cookies和HTTP请求,它支持众多协议,如FTP、SMTP、POP3、TELNET、IMAP、HTTPS等。
其次要设置请求的URL地址、请求的参数和请求头信息。
// 请求的URL地址 $url = 'http://localhost/HttpPost_Test.php'; //请求的参数信息 $param = [ 'user' =>'testUser', 'password' =>'testPwd' ]; //请求头信息 $headers = [ "Content-type: application/x-www-form-urlencoded;charset=UTF-8", "Accept: application/json" ];
接下来设置Curl请求选项,其中CURLOPT_RETURNTRANSFER选项是指接受返回数据而不直接输出。
//初始化 $curlRequest = curl_init(); //设置请求的Url地址 curl_setopt($curlRequest, CURLOPT_URL, $url); //设置请求头信息 curl_setopt($curlRequest, CURLOPT_HTTPHEADER, $headers); //设置请求超时时间 curl_setopt($curlRequest, CURLOPT_TIMEOUT, 20); //设置请求的参数信息 curl_setopt($curlRequest, CURLOPT_POSTFIELDS, http_build_query($param)); //将响应数据存储在变量中 curl_setopt($curlRequest, CURLOPT_RETURNTRANSFER, true);
最后发送请求并处理响应数据。
//发送请求并获取响应数据 $response = curl_exec($curlRequest); //处理响应数据 $result = json_decode($response, true); //关闭curl连接 curl_close($curlRequest); //输出响应数据 if ($result['code'] !== 0) { echo $result['msg']; } else { echo $result['data']; }
所以,以上就是Php实现HttpPost请求的一般流程和步骤。在实际中,更多的是通过Ajax请求来完成htttp请求。例如:
$.ajax({ type: "post", url: "http://localhost/HttpPost_Test.php", data: { user: "testUser", password: "testPwd" }, dataType: "json", success: function (result) { if (result.code === 0) { console.log(result.data); } else { console.log(result.msg); } } });