简介

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请求

/*** get方式发送curl请求* @param string $url    请求服务器地址* @param array $header  请求头数据* @param int $timeout   超时时间* @return mixed* @author itbsl*/
function curl_get($url, $header=[], $timeout=30) {//初始化curl$curl = curl_init();//设置curl(请求的服务器地址)//参数1: curl资源//参数2: 配置项名称//参数3: 配置项的值curl_setopt($curl, CURLOPT_URL, $url);//跳过安全证书验证curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);  // 从证书中检查SSL加密算法是否存在curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);  // 跳过证书检查//设置获取的信息以文件流的形式返回,而不是直接输出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请求

/*** post方式发送curl请求* @param string $url   请求的服务器地址* @param array $data   要发送的数据* @param array $header 请求头数据* @param int $timeout  超时时间* @return mixed* @author itbsl<itbsl@foxmail.com>*/
function curl_post($url, $data=[], $header=[], $timeout=30) {//初始化curl$curl = curl_init();//设置curl(请求的服务器地址)//参数1: curl资源//参数2: 配置项名称//参数3: 配置项的值curl_setopt($curl, CURLOPT_URL, $url);//跳过安全证书验证curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);  // 从证书中检查SSL加密算法是否存在curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);  // 跳过证书检查//设置获取的信息以文件流的形式返回,而不是直接输出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;
}

转载于:https://www.cnblogs.com/itbsl/p/9995882.html

curl模拟http请求相关推荐

  1. php post 二维数组,php curl模拟post请求和提交多维数组的示例代码

    这篇文章主要介绍了php curl模拟post请求和提交多维数组的示例代码,需要的朋友可以参考下 下面一段代码给大家介绍php curl模拟post请求的示例代码,具体代码如下: 'tanteng' ...

  2. php curl模拟post请求

    说明:下面代码支持http和https,使用于各种接口请求.里面设置的参数,根据自己的需求设定. /*** curl模拟post请求* @params string $url [请求地址]* @par ...

  3. curl模拟post请求

    另外可尝试 postman工具 或者用request 直接请求 CURL 发送POST请求curl -header "Content-Type: application/json" ...

  4. php curl 超时 毫秒,php使用curl模拟异步请求,毫秒级超时设置

    使用curl请求设置超时模拟php异步请求: /** * 1.curl 异步请求不需要等待返回值(秒级) * * @param  [type] $url [description] * @return ...

  5. php使用curl模拟post请求

    废话不多说,直接上代码,做个笔记. $url="http://localhost/header_server.php"; $body = array("mobile&qu ...

  6. php curl模拟https请求

    https请求(支持GET和POST) function http_request($url,$data = null){$curl = curl_init();curl_setopt($curl, ...

  7. curl post json_curl 模拟 GETPOST 请求,以及 curl post 上传文件

    curl 模拟 GETPOST 请求,以及 curl post 上传文件 一般情况下,我们调试数据接口,都会使用一个 postman 的工具,但是这个工具还是有点大了.事实上,我们在调试一些小功能的时 ...

  8. curl模拟发送post请求参数通过json格式传输时需要对引号进行转义

    如题所示,curl模拟post请求,简单来说就是需要-XPOST即可,若是带有参数,一般来说-d "user=test&password=test"就可以搞定了.偏偏我们的 ...

  9. 使用PHP CURL 模拟HTTP实现在线请求工具-toolfk程序员工具网

    本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果.Tool ...

  10. curl php 模拟来源_PHP-Curl模拟HTTPS请求

    使用PHP-Curl方式模拟HTTPS请求,测试接口传参和返回值状态 上代码!! <?php /*** 模拟post进行url请求* @param string $url* @param arr ...

最新文章

  1. hashmap原理_HashMap和HashTable底层原理以及区别
  2. C语言 NULL 和 0 区别 - C语言零基础入门教程
  3. 打砖块游戏c语言设计,打砖块游戏的源代码(请多指教)
  4. xshell修改编辑文件并保存
  5. Delphi在代码编辑栏按回车无法换行
  6. c++ opencv 通过网络连接工业相机_使用OpenCV进行手势控制游戏+源码分享
  7. 春节面对亲友盘问:有对象了吗?月薪5万码农这样回答
  8. 连续型随机变量单点概率为0以及不可能事件
  9. 谈逻辑与数学界线之淡化(修正版)
  10. 后盾网php微博系统,后盾网ThinkPHP微博项目开发视频教程 - 轻松自学网
  11. 【学会了学会了】Flink官网翻译——Flink集群部署概览
  12. 程序员必备英语单词清单
  13. 「解决方案」Acrel-2000Z变电站综合自动化系统
  14. MFC提示this application has requested the runtime to terminate it in an unusual way editbox框已经删了还在使用
  15. emacs org-mode table使用
  16. 抖音赚钱记,新手如何玩转抖音,每天赚300起(连载五)
  17. 【Get深一度】相控阵雷达信号环境模型建立-相控阵雷达原理
  18. AutoCAD2014的安装与激活
  19. 大学计算机结课论文怎么写,大学本科计算机论文格式_大学本科计算机毕业论文范文...
  20. RGui的http代理设置

热门文章

  1. CF 570D. Tree Requests [dsu on tree]
  2. Android Studio中.9.png文件出错问题
  3. hMailServer之发送附件大小限制
  4. 核PCA与PCA的精髓和核函数的映射实质
  5. linux下开通ssh
  6. 【原】unity3D之Draw Call
  7. 关于 Google“博客搜索”Ping 服务应用编程接口(API)
  8. cdn对动态网站有作用吗_cdn是什么和作用有些
  9. mysql8 groups关键字
  10. ak和sk怎么认证 海康威视_JWT和HMAC(AK/SK)认证方式使用场景