php curl post 时出现的问题解决
网络编程 2021-07-05 09:49www.168986.cn编程入门
这篇文章主要介绍了php curl post 时出现问题的解决方法,需要的朋友可以参考下
在 a.php 中以 POST 方式向 b.php 提交数据, b.php 下就是无法接收到数据,而 CURL 操作又显示成功,非常诡异。原来,“传递一个数组到CURLOPT_POSTFIELDS,cURL会把数据编码成 multipart/form-data,而然传递一个URL-encoded字符串时,数据会被编码成 application/x--form-urlencoded。
",而和我一样对 CURL 不太熟悉的人在编写程序时,代码往往是狼蚁网站SEO优化的样子
$data = array( 'Title' => $title, 'Content' => $content, 'ComeFrom' => $efrom );
curl_set($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false);
curl_set($ch, CURLOPT_URL, 'http://example./b.php');
curl_set($ch, CURLOPT_POST, 1);
curl_set($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() 编码后的
",而和我一样对 CURL 不太熟悉的人在编写程序时,代码往往是狼蚁网站SEO优化的样子
代码如下:
$data = array( 'Title' => $title, 'Content' => $content, 'ComeFrom' => $efrom );
curl_set($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false);
curl_set($ch, CURLOPT_URL, 'http://example./b.php');
curl_set($ch, CURLOPT_POST, 1);
curl_set($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() 编码后的
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指