如何使用cURL在PHP中同时使用GET和POST参数发出请求?

贝努伯德

其他人已经问过如何从perl,java,bash等中做到这一点,但是我需要在PHP中做到这一点,而且我没有看到已经问过任何专门针对PHP(或带有答案)的问题。

我的代码:

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);

这行不通。目标站点具有print_r($_GET); print_r($_POST);,因此当我检查时,$result我应该能够看到正在发送的字段。但是,$ _POST数组为空-我只看到get变量。如果我?...从$ url中删除查询字符串,则POST数组将正确填充。但是现在我没有GET参数了。我该怎么做呢?

我的具体情况是,我需要发送过多的数据以使其无法容纳在查询字符串中,但我无法将其全部作为POST发送,因为我要提交的站点正在基于变量选择发布数据的处理程序在GET字符串中。我可以尝试进行更改,但理想情况下,我希望能够在同一查询中发送get和post数据。

马克·B
# GET query goes in the URL you're hitting
$ch = curl_init('http://example.com/script.php?query=parameter');
# POST fields go here.
curl_setopt($ch, CURLOPT_POSTFIELDS, array('post' => 'parameter', 'values' => 'go here'));

如果执行POST,PHP本身不会决定忽略GET参数。无论使用哪种http谓词加载页面,它都会填充$ _GET-如果URL中有查询参数,它们将进入$ _GET。

如果您没有得到$ _POST和$ _GET,则是由于某种原因导致重定向或以其他方式杀死了某些东西。例如,您是否检查$_SERVER['REQUEST_METHOD']过您的代码是否实际作为POST运行?如果未实际执行发布,则PHP不会填充$ _POST。您可能已经向服务器发送了一个帖子,但这并不意味着您的代码实际上将在POST模式下执行-例如,mod_rewrite重定向。

由于您已启用FOLLOW_REDIRECT,因此只需假设您在执行代码时实际上收到了一篇文章。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用CURL发出带有查询参数的GET请求

来自分类Dev

泽西岛:如何使用带有查询参数和图像的客户端发出POST请求?

来自分类Dev

Swfit URLRequest POST如何使用重复的参数键发出请求

来自分类Dev

无法使用PHP发出CURL发布请求

来自分类Dev

如何使用curl在php中调试get请求

来自分类Dev

给定以下HTTP + JSON,如何使用PHP发出POST请求

来自分类Dev

如何使用 Python 请求来模拟我在 curl 中发出的 POST 请求?

来自分类Dev

如何通过令牌认证发出POST / GET curl请求?

来自分类Dev

如何使用grequests发出HTTP POST请求

来自分类Dev

如何在php中向eBay Restful API发出GET cURL请求

来自分类Dev

如何使用NetworkStream类发出GET请求?

来自分类Dev

如何使用数组发出 GET 请求

来自分类Dev

PHP在URL中使用cURL和GET请求

来自分类Dev

使用数组参数将 POST cURL PHP 请求转换为 cURL 命令行

来自分类Dev

如何使用请求参数发出Json数组请求

来自分类Dev

使用Qt中的命名参数列表发出HTTP POST请求

来自分类Dev

使用cURL向tomcat localhost发出PHP请求并获取响应

来自分类Dev

如何向外部API发出GET和POST请求?

来自分类Dev

如何使 html 网站发出 POST 和 GET 请求?

来自分类Dev

使用Python中的“请求”模块发出POST请求

来自分类Dev

在 CURL 中使用参数的 GET 请求

来自分类Dev

使用scrapy发出POST请求

来自分类Dev

使用alamofire发出POST请求

来自分类Dev

使用Bash发出POST请求

来自分类Dev

使用PHP + cURL的HTTP POST请求

来自分类Dev

如何在Django的POST和GET中同时使用模型属性

来自分类Dev

如何使用CURL动态创建POST请求?

来自分类Dev

使用参数在iOS中发出HTTP Get请求

来自分类Dev

无法使用Express API发出POST或GET请求

Related 相关文章

热门标签

归档