PHP中curl三种Post请求数据的方式小结

 更新时间:2023年09月06日 10:34:54   作者:m0_69254007  
这篇文章主要给大家介绍了关于PHP中curl三种Post请求数据的方式,在PHP开发的过程中经常需要发送POST请求,POST相比GET要安全很多,而且传输的数据量也较大,需要的朋友可以参考下

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

1、form-data 。

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

Content-Type: multipart/form-data

2、x-www-form-urlencoded 。

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

Content-Type: x-www-form-urlencoded

3、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; // 返回数据
}

总结 

到此这篇关于PHP中curl三种Post请求数据的方式的文章就介绍到这了,更多相关PHP curl Post请求数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • php查询操作实现投票功能

    php查询操作实现投票功能

    这篇文章主要为大家详细介绍了php查询操作实现投票功能的具体代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • PHP中的session安全吗?

    PHP中的session安全吗?

    PHP中的session安全吗?PHP只是为我们提供了一个session的实现,后续的安全工作需要程序员自己灵活去掌握,所以说PHP编程真的很灵活,需要了解PHP中session安全的朋友可以参考一下
    2016-01-01
  • PHP中spl_autoload_register()函数用法实例详解

    PHP中spl_autoload_register()函数用法实例详解

    这篇文章主要介绍了PHP中spl_autoload_register()函数用法,结合实例形式分析了__autoload函数及spl_autoload_register函数的相关使用技巧,需要的朋友可以参考下
    2016-07-07
  • php 空格,换行,跳格使用说明

    php 空格,换行,跳格使用说明

    php 空格,换行,跳格使用说明,需要的朋友可以参考下。
    2009-12-12
  • 黑夜路人出的几道php笔试题

    黑夜路人出的几道php笔试题

    黑夜路人出的几道php笔试题,大家可以看看。
    2009-08-08
  • php 结果集的分页实现代码

    php 结果集的分页实现代码

    php结果集的分页,后面都有详细的说明。最近的php将会让你学到更多。
    2009-03-03
  • php计划任务之验证是否有多个进程调用同一个job的方法

    php计划任务之验证是否有多个进程调用同一个job的方法

    这篇文章主要介绍了php计划任务之验证是否有多个进程调用同一个job的方法,涉及php针对计划任务中进程调用的相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-12-12
  • Windows7下的php环境配置教程

    Windows7下的php环境配置教程

    这篇文章主要介绍了Windows7下的php环境配置教程,本文讲解了Windows7下的PHP环境配置步骤,包含下载安装文件、配置PHP、添加到系统变量和检测安装是否成功等步骤,需要的朋友可以参考下
    2015-02-02
  • php简单实现多语言切换的方法

    php简单实现多语言切换的方法

    这篇文章主要介绍了php简单实现多语言切换的方法,涉及php字符串、数组结合session操作实现多语言切换的相关技巧,需要的朋友可以参考下
    2016-05-05
  • 常见php数据文件缓存类汇总

    常见php数据文件缓存类汇总

    这篇文章主要介绍了常见php数据文件缓存类,实例讲述了php文件缓存与利用memcache来缓存数据的方法,代码封装性好,使用简单,是非常实用的技巧,需要的朋友可以参考下
    2014-12-12

最新评论