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
值。
我正在使用 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
值。