当前位置:Gxlcms > PHP教程 > curl模拟http请求范例详析

curl模拟http请求范例详析

时间:2021-07-01 10:21:17 帮助过:8人阅读

本文的主要内容是用curl模拟HTTP请求,具有一定的参考价值,有需要的朋友可以看看,希望可以帮助到你。

简介

cURL的官方定义为:curl is a command line tool for transferring data with URL syntax,即使用URL语法规则来传输数据的命令行工具

PHP 支持 Daniel Stenberg 创建的 libcurl 库,能够连接通讯各种服务器、使用各种协议。libcurl 目前支持的协议有 http、https、ftp、gopher、telnet、dict、file、ldap。 libcurl 同时支持 HTTPS 证书、HTTP POST、HTTP PUT、 FTP 上传(也能通过 PHP 的 FTP 扩展完成)、HTTP 基于表单的上传、代理、cookies、用户名+密码的认证。

概念

在PHP中使用cURL

图示:

cURL模拟get请求

  1. /**
  2. * get方式发送curl请求
  3. * @param string $url 请求服务器地址
  4. * @param array $header 请求头数据
  5. * @param int $timeout 超时时间
  6. * @return mixed
  7. * @author itbsl
  8. */
  9. function curl_get($url, $header=[], $timeout=30) {
  10. //初始化curl
  11. $curl = curl_init();
  12. //设置curl(请求的服务器地址)
  13. //参数1: curl资源
  14. //参数2: 配置项名称
  15. //参数3: 配置项的值
  16. curl_setopt($curl, CURLOPT_URL, $url);
  17. //跳过安全证书验证
  18. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
  19. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
  20. //设置获取的信息以文件流的形式返回,而不是直接
输出 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER, $header); curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); //发出请求 $result = curl_exec($curl); //关闭curl资源 curl_close($curl); return $result; }

cURL模拟post请求

  1. /**
  2. * post方式发送curl请求
  3. * @param string $url 请求的服务器地址
  4. * @param array $data 要发送的数据
  5. * @param array $header 请求头数据
  6. * @param int $timeout 超时时间
  7. * @return mixed
  8. * @author itbsl<itbsl@foxmail.com>
  9. */
  10. function curl_post($url, $data=[], $header=[], $timeout=30) {
  11. //初始化curl
  12. $curl = curl_init();
  13. //设置curl(请求的服务器地址)
  14. //参数1: curl资源
  15. //参数2: 配置项名称
  16. //参数3: 配置项的值
  17. curl_setopt($curl, CURLOPT_URL, $url);
  18. //跳过安全证书验证
  19. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
  20. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
  21. //设置获取的信息以文件流的形式返回,而不是直接
输出 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER, $header); //设置请求方式为post请求 curl_setopt($curl, CURLOPT_POST, true); //设置post方式提交时携带的数据 curl_setopt($curl, CURLOPT_POSTFIELDS, $data); curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); //发出请求 $result = curl_exec($curl); //关闭curl资源 curl_close($curl); return $result; }

相关教程:PHP视频教程

以上就是curl模拟http请求范例详析的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行