为了账号安全,请及时绑定邮箱和手机立即绑定

传递带cURL的$POST值

传递带cURL的$POST值

PHP
不负相思意 2019-07-13 10:10:45
传递带cURL的$POST值你怎么通过$_POST值到页的cURL?
查看完整描述

3 回答

?
森栏

TA贡献1810条经验 获得超5个赞

应该能正常工作。

$data = array('name' => 'Ross', 'php_master' => true);// You can POST a file by prefixing with an @ (for <input type="file">
 fields)$data['file'] = '@/home/user/world.jpg';$handle = curl_init($url);curl_setopt($handle, CURLOPT_POST, true);c
 url_setopt($handle, CURLOPT_POSTFIELDS, $data);curl_exec($handle);curl_close($handle)

我们有两个选择,CURLOPT_POST打开HTTP POST,并且CURLOPT_POSTFIELDS包含我们要提交的帖子数据的数组。这可用于将数据提交给POST <form>S.


重要的是要注意curl_setopt($handle, CURLOPT_POSTFIELDS, $data);以两种格式获取$数据,这将决定如何对POST数据进行编码。

  1. $data作为array()*数据将作为multipart/form-data它并不总是被服务器所接受。

    $data = array('name' => 'Ross', 'php_master' => true);curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
  2. $data作为url编码的字符串:数据将作为application/x-www-form-urlencoded,它是提交的html表单数据的默认编码。

    $data = array('name' => 'Ross', 'php_master' => true);curl_setopt($handle, CURLOPT_POSTFIELDS, http_build_query($data));

我希望这将有助于其他人节省时间。

见:


查看完整回答
反对 回复 2019-07-13
?
四季花海

TA贡献1811条经验 获得超5个赞

我遇到了一种情况,需要在没有任何参数对的情况下将一些XML作为内容类型“text/xml”发布,下面是这样做的:

$xml = '<?xml version="1.0"?><stuff><child>foo</child><child>bar</child>
</stuff>';$httpRequest = curl_init();curl_setopt($httpRequest, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($httpRequest, CURLOPT_HTTPHEADER, array("Content-Type:  text/xml"));
curl_setopt($httpRequest, CURLOPT_POST, 1);curl_setopt($httpRequest, CURLOPT_HEADER, 1);
curl_setopt($httpRequest, CURLOPT_URL, $url);curl_setopt($httpRequest, CURLOPT_POSTFIELDS, $xml);
$returnHeader = curl_exec($httpRequest);curl_close($httpRequest);

在我的例子中,我需要解析HTTP响应头中的一些值,所以您可能不一定需要设置CURLOPT_RETURNTRANSFERCURLOPT_HEADER.


查看完整回答
反对 回复 2019-07-13
  • 3 回答
  • 0 关注
  • 429 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信