1

我正在尝试发布一些数据,Guzzle 会自动 urlencode() 所有发布值。我想禁用它,因为它的行为很奇怪(Enter 字符有问题)。我搜索了文档并找到了有关此的参考

$query->useUrlEncoding(false);

但它是关于 GET 请求的。

文档还说:“URL 编码可以通过传递 false 来禁用,通过传递 true 来启用,通过传递 Query::FORM_URLENCODED 设置为使用 RFC 1738(内部使用 PHP 的 urlencode 函数),或者通过传递 Query::RFC_3986 设置为 RFC 3986(这是默认设置,内部使用 PHP 的 rawurlencode 函数)。”

知道怎么做吗?

4

2 回答 2

2

对于那些正在寻找的人,Guzzle 已经完全重写,文档还不是 100%

该方法现在位于 Query 对象上,可以设置为:

$request->getQuery()->setEncodingType(false);

于 2015-02-11T00:24:58.387 回答
1

像这样做:

$request->getQuery()->useUrlEncoding(false);

查看他们的 API 文档以获取更多信息http://api.guzzlephp.org/class-Guzzle.Http.QueryString.html

于 2014-06-20T03:38:29.560 回答