0

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

如果我使用 'addcslashes' 并定义所有必要的字符,API 会返回Invalid filter:name:Test\,但如果我只是 cURL 相同的端点,它会返回正确的数据。

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

提前感谢您的帮助!

4

1 回答 1

0

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

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

于 2015-05-09T15:18:34.530 回答