gpt4 book ai didi

php - wp_remote_get 和 url 参数

转载 作者:行者123 更新时间:2023-12-05 04:48:56 25 4
gpt4 key购买 nike

我正在尝试将 API 与需要分页的 wp_remote_get 结合使用。

目前,我的 WordPress 插件通过以下方式调用 API

$response = wp_remote_get( "https://api.xyz.com/v1/products" ,
array( 'timeout' => 10,
'headers' => array(
'Authorization' => 'Bearer xyz',
'accept' => 'application/json',
'content-type' => 'application/json'
)
));
$body = wp_remote_retrieve_body( $response );
return json_decode($body);

现在,如果我将 URL 从/products 更改为/products?page_size=5&page=2,这在 Postman 和其他程序中工作正常,我没有收到响应。这是为什么?我查看了 wp_remote_get 的 API 文档,但没有搞清楚。

最佳答案

通常您使用 curl command获取响应,但我建议您使用 Guzzle PHP HTTP client如果您正在调用多个电话,则可以调用电话。

您必须编译安装 Guzzle。

composer require guzzlehttp/guzzle:^7.0

我期待加载自动加载器类。

安装完成后即可使用。

use GuzzleHttp\Client;


$client = new Client(
[
// Base URI is used with relative requests.
'base_uri' => https://api.xyz.com/v1/,
// You can set any number of default request options.
'timeout' => 10.0,
]
);

$url = 'products';

$payload = array(
'page_size' => 5,
'page' => 2,
);

try {

$request = $client->request(
'GET',
$url,
[
'query' => $payload,
]
);

$status = $request->getStatusCode();
$response = json_decode( $request->getBody() );

if ( 200 === $status ) {
echo $response;
}
} catch ( Exception $e ) {
echo $e;
}

您可以为其他查询更改 $url$payload

关于php - wp_remote_get 和 url 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67771765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com