当前位置:   article > 正文

HTTP 调用接口(PHP)_php 调用 http

php 调用 http

1、HTTP 调用接口(curl方法)

注解:$url:接口地址,$params:接口参数(数组),$method:传递方式,$header:访问方式,$timeout:设置cURL允许执行的最长秒数

例子:

我们可以通过PHP的CURL函数的CURLOPT_HTTPHEADER来配置设置host访问。

$header = array("Host: act.qzone.qq.com");  

  1. public function http($url, $params, $method = 'GET', $header = array(), $timeout = 5){
  2. // POST 提交方式的传入 $set_params 必须是字符串形式
  3. $opts = array(
  4. CURLOPT_TIMEOUT => $timeout,
  5. CURLOPT_RETURNTRANSFER => 1,
  6. CURLOPT_SSL_VERIFYPEER => false,
  7. CURLOPT_SSL_VERIFYHOST => false,
  8. CURLOPT_HTTPHEADER => $header
  9. );
  10. /* 根据请求类型设置特定参数 */
  11. switch (strtoupper($method)) {
  12. case 'GET':
  13. $opts[CURLOPT_URL] = $url . '?' . http_build_query($params);
  14. break;
  15. case 'POST':
  16. // $params = json_encode($params,true);
  17. $opts[CURLOPT_URL] = $url;
  18. $opts[CURLOPT_POST] = 1;
  19. $opts[CURLOPT_POSTFIELDS] = $params;
  20. break;
  21. case 'DELETE':
  22. $params = json_encode($params,true);
  23. $opts[CURLOPT_URL] = $url;
  24. $opts[CURLOPT_HTTPHEADER] = array("X-HTTP-Method-Override: DELETE");
  25. $opts[CURLOPT_CUSTOMREQUEST] = 'DELETE';
  26. $opts[CURLOPT_POSTFIELDS] = $params;
  27. break;
  28. case 'PUT':
  29. $params = json_encode($params,true);
  30. $opts[CURLOPT_URL] = $url;
  31. $opts[CURLOPT_POST] = 0;
  32. $opts[CURLOPT_CUSTOMREQUEST] = 'PUT';
  33. $opts[CURLOPT_POSTFIELDS] = $params;
  34. break;
  35. case 'PATCH':
  36. $params = json_encode($params,true);
  37. $opts[CURLOPT_URL] = $url;
  38. $opts[CURLOPT_POST] = 0;
  39. $opts[CURLOPT_CUSTOMREQUEST] = 'PATCH';
  40. $opts[CURLOPT_POSTFIELDS] = $params;
  41. break;
  42. default:
  43. throw new Exception('不支持的请求方式!');
  44. }
  45. /* 初始化并执行curl请求 */
  46. $ch = curl_init();
  47. curl_setopt_array($ch, $opts);
  48. $data = curl_exec($ch);
  49. $error = curl_error($ch);
  50. return $data;
  51. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/270213
推荐阅读
相关标签
  

闽ICP备14008679号