您的位置:首页 > 理论基础 > 计算机网络

PHP 模拟CURL分别GET POST进行HTTP请求

2017-12-15 13:30 706 查看
在调用接口的过程中 我们需要模拟浏览器请求,这个时候作为PHP开发者,我们可以利用CURL进行模拟HTTP请求

1、curl以POST方式请求https协议接口 /**
* 传入json数据进行HTTP POST请求
*
* @param string $url $data_string
* @return string
*/
public static function http_post($url,$data_string,$timeout = 60)
{
//curl验证成功
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//// 跳过证书检查
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string)
));

$result = curl_exec($ch);
if (curl_errno($ch)) {
print curl_error($ch);
}
curl_close($ch);
return $result;
}

2、curl以GET方式请求https协议接口
/**
* 传入json数据进行HTTP Get请求
*
* @param string $url $data_string
* @return string
*/
public function http_get($url)
{
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
$tmpInfo = curl_exec($curl); //返回api的json对象
//关闭URL请求
curl_close($curl);
return $tmpInfo; //返回json对象

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: