当前位置:  编程技术>php

php curl post 时出现的问题解决

    来源: 互联网  发布时间:2014-08-26

    本文导语:  在 a.php 中以 POST 方式向 b.php 提交数据,但是 b.php 下就是无法接收到数据,而 CURL 操作又显示成功,非常诡异。原来,“传递一个数组到CURLOPT_POSTFIELDS,cURL会把数据编码成 multipart/form-data,而然传递一个URL-encoded字符串时,数...

在 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://example.com/b.php'); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
curl_exec($ch);


也就是将所要提交的数据以数组的形式通过 POST 发送,而这样就会导致 CURL 使用“错误"的编码“multipart/form-data",其效果相当于我们直接以“"这样的表单来完成操作,大家可以试试,这时的“b.php"是无论如何也无法通过 $_POST 来接收数据的。

所以,正确的做法应该是将上述范例代码中的 $data 由数组变为经 urlencode() 编码后的

    
 
 

您可能感兴趣的文章:

  • php5.3+zend guard loader安装时出现Segmentation fault
  • 装好mysql,apache后,再装php,配置httpd.conf时出现了如下错误!
  • windows下配置apache+php+mysql时出现问题的处理方法
  • 编译php时出现的问题
  • php curl post 时出现问题的解决方法
  • Linux 下安装php-5.0.1 配置makefile时出现的问题,请教高手!
  • linux 中apache2+php5+mysql4,访问时出现Forbidden 的问题
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • Starting PHP with FastCGI ??? 请熟悉PHP和LINUX的高手帮忙解决这个问题,谢谢!!!
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • Web服务器/前端 iis7站长之家
  • php网页标题中文乱码如何解决
  • 开源PHP电商解决方案 Sylius
  • PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
  • iis加载不到php.ini的解决方法
  • php出现Class 'XsltProcessor' not found问题的解决方法
  • PHP上传文件过大$_FILES为空的解决方法
  • php绘图中显示不出图片的原因及解决
  • PHP文件型缓存解决方案 Secache
  • php4.1.2版本更新问题,解决的给100分
  • php中$美元符号与Zen Coding冲突问题解决方法分享
  • php网页标题中文乱码的有效解决方法
  • Python和php通信乱码问题解决方法
  • PHP上传文件大小限制二种解决方法
  • php syntax error, unexpected $end 错误怎么解决
  • php的webservice的wsdl的XML无法显示问题的解决方法
  • 解决php json_encode中文转码、乱码问题
  • php pdo编码乱码问题的解决方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php显示错误问题
  • Linux Apache+PHP+MySQL的配置问题??
  • 关于PHP的问题
  • 在REDHAT 8.0下安装PHP5的问题
  • PHP GD 安装问题
  • Solaris、Apache和Php字符集问题
  • 请教一个linux下命令运行php文件的问题
  • 关于linux下 apache+php的配置问题
  • php 使用system() 调用c程序的问题
  • 关于bsd下的php 与自开发webserver 结合问题
  • apache+php配置问题
  • redhat下的PHP问题
  • CentOS6 下PHP 和 Apache的连接问题
  • Linux 下PHP的问题?
  • Linux下的递归备份问题,cp -prv .php backup不行
  • ubuntu php nginx的问题
  • linux as3 下 php连接mysql问题
  • linux下php和mysql的问题,200分求教
  • 菜鸟问题:如何启动PHP和MYSQL?
  • 请教关于php5.3.6安装时fpm的问题
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP去除html标签,php标记及css样式代码参考
  • php输入流php://input使用示例(php发送图片流到服务器)
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP转换器 HipHop for PHP
  • php通过socket_bind()设置IP地址代码示例
  • PHP 框架 Pop php
  • php安装完成后如何添加mysql扩展
  • PHP的JavaScript框架 PHP.JS
  • PHP的substr() 函数用法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3