GuzzlePHP 请求查询字符串

GuzzlePHP Request Query String

我正在使用 Amazon 的 CloudDrive SDK 开发一个应用程序。当请求文件夹或文件列表时,您可以在查询字符串中发送过滤器,但每个过滤器的值都需要转义特殊字符(包括空格,很像 Linux 命令行参数)。我不完全确定如何通过 Guzzle(或一般的 PHP)发送字符串,以便它被 API 解释为转义字符串。

如果我使用 'addcslashes' 并定义所有必要的字符,API returns 和 Invalid filter:name:Test\,但如果我简单地卷曲相同的端点,它 returns 正确的数据。

在 PHP 中使用 addcslashes 时,请求值最终变为 "name:Test\ Folder AND kind:FOLDER"。但正如我所说,这在端点处失败了。

提前感谢您的帮助!

所以我在花了一天左右的时间解决这个问题后发布了这个问题,但在发布之后我立即尝试了另一种似乎可以解决我的问题的方法...

在 Guzzle 库中,将请求的编码类型设置为 RFC1738 似乎解决了问题并且 return 了正确的数据。虽然,我仍然需要调用 addcslashes 值。