PHP - 通过curl发送post请求携带body参数,和发送get请求

1.PHP发送post请求,携带body数据

# url,请求路径,postdata 请求body参数,注意是json格式
public static function btnPost($url,$postdata)
{
    # 初始化一个curl会话
    $ch = curl_init();
	# 启用时会发送一个常规的POST请求
    curl_setopt($ch, CURLOPT_POST, 1);
	# 需要获取的URL地址
    curl_setopt($ch, CURLOPT_URL, $url);
	# 全部数据使用HTTP协议中的"POST"操作来发送。
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
	# 将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	# 一个用来设置HTTP请求头字段的数组
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
            # 设置编码格式
            'Content-Type: application/json;charset=utf-8',
            'Content-Length: ' . strlen($postdata)
        )
   	);
	# curl_exec 执行一个cURL会话。
    $response = curl_exec($ch);
	# 关闭一个cURL会话
    curl_close($ch);
    return $response;
}

2.PHP发送get请求

 public static function btnGet($url)
 {
      # 初始化一个curl会话
     $ch = curl_init();
		
     # 判断是否是https
     if (stripos($url, "https://") !== false) {
         # 禁用后cURL将终止从服务端进行验证
         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
         # 	使用的SSL版本(2 或 3)
         curl_setopt($ch, CURLOPT_SSLVERSION, 1);
     }
	 # 设置请求地址
     curl_setopt($ch, CURLOPT_URL, $url);
     # 	在启用CURLOPT_RETURNTRANSFER的时候,返回原生的(Raw)输出
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		
     # 执行这个请求
     $output = curl_exec($ch);
     # 关闭这个请求
     curl_close($ch);
     return $output;
 }

3.file_get_contents结果处理 

$result = file_get_contents($url);
$result = ltrim($result,"\XEF\XBB\XBF");
$result = json_decode($result,true);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值