GuzzlePHP请求查询字符串

时间:2015-05-09 15:08:34

标签: php amazon guzzle amazon-clouddrive

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

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

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

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

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

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