【问题标题】:Guzzle 6 : How to urldecode query params?Guzzle 6:如何对查询参数进行 urldecode?
【发布时间】:2018-06-21 17:22:49
【问题描述】:

在这段代码中:

$customer = \GuzzleHttp\Client(['base_uri'=>'https://example.com']);
$response = $customer->request('GET', '/', ['query'=> ['name'=>'Dolce| Gabana']]);

除了查询的参数是urlencoded之外,其他都是正确的

https://example.com/?name=Dolce%7CGabana

我想要这个请求 uri

https://example.com/?name=Dolce|Gabana

如何解决这个问题?

【问题讨论】:

    标签: php guzzle guzzle6


    【解决方案1】:

    我也遇到了同样的问题。

    到目前为止我找到的解决方案是手动编写查询...按照您的示例,它应该是这样的:

    $customer = \GuzzleHttp\Client(['base_uri'=>'https://example.com']);
    $response = $customer->request('GET', '/?name=Dolce|Ganana');
    

    【讨论】:

      【解决方案2】:

      应该保留 url 编码。 url 通常包含 ASCII 集之外的字符,因此需要将其转换为 ASCII。这就是为什么它用% 转义。

      Guzzle url 对用户不可见我不明白为什么你会在其中看到问题。

      【讨论】:

      • Account Kit API 需要一个类似https://graph.accountkit.com/'.$version.'/access_token?'. 'grant_type=authorization_code'. '&code='.$_POST['code']. "&access_token=AA|$app_id|$secret";的网址
      • 我确定他们会进行 urldecode,它会变成“|”之后
      猜你喜欢
      • 2016-12-09
      • 2023-04-02
      • 2015-05-03
      • 1970-01-01
      • 1970-01-01
      • 2017-02-06
      • 2013-12-15
      • 2012-08-05
      相关资源
      最近更新 更多