广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP的curl有三种Post请求数据的方式
  • 257
分享到

PHP的curl有三种Post请求数据的方式

php开发语言 2023-08-31 11:08:53 257人浏览 安东尼
摘要

今天要讲的Http请求头的Content-Type字段,就是在curl发送post请求的时候需要指定以何种方式来请求数据,常用的有3类: fORM-data 。就是 multipart/form-data 使用表单的方式来发送数据 是cur

今天要讲的Http请求头的Content-Type字段,就是在curl发送post请求的时候需要指定以何种方式来请求数据,常用的有3类:

fORM-data 。就是 multipart/form-data 使用表单的方式来发送数据 是curl采用的默认发送方式。请求数组类型的格式。

Content-Type: multipart/form-data

x-www-form-urlencoded 。就是 application/x-www-form-urlencoded 把请求的内容转变成url参数的形式进行发送,如:s1=red&s2=blue,这是标准的编码格式,但在curl中却不是默认的发送方式。可以使用http_build_query ()函数将表单数据数组编码为一个字符串

Content-Type: x-www-form-urlencoded

raw(text/plain application/JSON text/xml等)。 是以纯文本的方式发送数据,可以选择json、xml等格式。请求json格式的数据。

Content-Type: application/json

 分析:发现Content-Type的类型取决于$data的数据类型。如果$data是字符串,则Content-Type是application/x-www-form-urlencoded。如果$data是k=>v的数组,则Content-Type是multipart/form-data。

请求示例

// 模拟提交数据函数public function httpPost($url,$data){    $curl = curl_init(); // 启动一个CURL会话    curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 对认证证书来源的检查    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在    curl_setopt($curl, CURLOPT_POST, true); // 发送一个常规的Post请求    curl_setopt($curl, CURLOPT_POSTFIELDS,  $data); // Post提交的数据包    curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环    curl_setopt($curl, CURLOPT_HEADER, false); // 显示返回的Header区域内容    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // 获取的信息以文件流的形式返回    $result = curl_exec($curl); // 执行操作    if (curl_errno($curl)) {        return 'Error POST'.curl_error($curl);    }    curl_close($curl); // 关键CURL会话    return $result; // 返回数据}

来源地址:https://blog.csdn.net/m0_69254007/article/details/131476939

--结束END--

本文标题: PHP的curl有三种Post请求数据的方式

本文链接: https://www.lsjlt.com/news/385327.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作