php curl post 时出现的问题解决
发布:smiling 来源: PHP粉丝网 添加日期:2020-09-01 16:40:54 浏览: 评论:0
在 a.php 中以 POST 方式向 b.php 提交数据,但是 b.php 下就是无法接收到数据,而 CURL 操作又显示成功,非常诡异。原来,“传递一个数组到CURLOPT_POSTFIELDS,cURL会把数据编码成 multipart/form-data,而然传递一个URL-encoded字符串时,数据会被编码成 application/x-www-form-urlencoded。
而和我一样对 CURL 不太熟悉的人在编写程序时,代码往往是下面的样子:
- $data = array( 'Title' => $title, 'Content' => $content, 'ComeFrom' => $comefrom );
- curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false);
- curl_setopt($ch, CURLOPT_URL, 'http://www.phpfensi.com/b.php');
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
- curl_exec($ch);
也就是将所要提交的数据以数组的形式通过 POST 发送,而这样就会导致 CURL 使用“错误"的编码“multipart/form-data",其效果相当于我们直接以“<form method="post" action="b.php" enctype="multipart/form-data">"这样的表单来完成操作,大家可以试试,这时的“b.php"是无论如何也无法通过 $_POST 来接收数据的。
所以,正确的做法应该是将上述范例代码中的 $data 由数组变为经 urlencode() 编码后的。
Tags: curl post
- 上一篇:php内核解析:PHP中的哈希表
- 下一篇:curl实现站外采集的方法和技巧
相关文章
- ·PHP启动提示Unable to load dynamic library php_curl.dll怎么办(2013-12-02)
- ·php中的curl使用心得详解(2014-02-22)
- ·php curl 伪造IP来源实例(2014-07-30)
- ·利用php curl实现程序登录新浪微博代码(2014-08-01)
- ·php curl post数据的问题(2014-08-04)
- ·php curl、fopen、file_get_contents实例代码(2014-08-17)
- ·php通过curl函数取得数据、模拟登陆、POST数据(2014-09-12)
- ·XAMPP使用CURL提示“Call to undefined function curl_init”问题(2014-09-12)
- ·php CURLOPT错误Warning: curl_setopt() [function.curl-setopt]:...(2014-09-20)
- ·php curl函数采集网页出现乱码问题解决方法(2014-09-21)
- ·解决php curl获取网页内容提示405 method not allowed状态码(2014-09-21)
- ·win7(X64)系统环境PHP Curl函数不能使用(2014-09-21)
- ·php curl实现http与https请求实例(2015-04-04)
- ·CURL模拟POST提交的二种方法实例(2015-04-09)
- ·php curl模仿登录人人网发布动态实例(2015-04-11)
- ·PHP用CURL伪造来源IP与来源URL地址程序代码(2015-04-11)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)