首页 > 解决方案 > 带有变量的来自和到 PHP 的 Guzzle POST 请求

问题描述

我有两部分 PHP 代码需要以一种方式(api)交换信息。因此,我创建了一个带有 guzzle 请求和端点的 PHP 文件。两者之间传输的数据并不是什么大秘密。尽管如此,我还是有一个“密钥”用于他们之间的身份验证。目前,当通过 guzzle 使用发布请求和查询变量发送数据时,这可以正常工作:

$guzzle = new Guzzle(['base_uri' => 'https://example.com']);
$response = $guzzle->request('get', '', [
    'query' => [
        'key' => $key
    ],
    'http_errors' => false
]);

但是当像这样发送它时,会暴露“中间人”的关键。所以我的解决方案是使用 SSL 将其作为 post 请求运行,而 Bob 将是你的叔叔。所以我将代码更改为:

$guzzle = new Guzzle(['base_uri' => 'https://example.com']);
$response = $guzzle->request('post', '', [
    'form_params' => [
        'key' => $key
    ],
    'http_errors' => false
]);

但是,PHP 无法识别发送的 $_POST 变量,就像它对 get 请求 ($_GET) 所做的那样。所以问题是,我如何获得这些变量或者我应该改变什么来通过 SSL 隐藏密钥。

标签: phpapisslguzzle

解决方案


推荐阅读