小编Mic*_*nes的帖子

如何使用PHP cURL从API获取链接标题(用于分页)

我正在使用PHP和cURL在API中查询结果列表。

为了启用分页,API在标头中以HTTP链接标头返回指向结果的下一页和上一页的链接。https://www.w3.org/wiki/LinkHeader

当我从curl_exec返回的对象print_r时,标头中(尖括号之间)的链接为空。通过查看Swagger文档,我确认应该获得返回的链接。(请参见示例)。在Swagger文档中,链接在尖括号内返回-关于cURL获取/返回标头的方式是否存在某种含义,这意味着尖括号内的内容丢失了?

源代码:

$curl = curl_init("https://api.mendeley.com/datasets?limit=3");
curl_setopt($curl, CURLOPT_HEADER, 1); 
curl_setopt($ch,CURLOPT_ENCODING , "gzip");
$rest = curl_exec($curl);
print_r($rest);
Run Code Online (Sandbox Code Playgroud)

预期输出(来自Swagger文档):

"link": "<https://api.mendeley.com/datasets?marker=0027ea1f-bec6-4581-a967-9a8c75dfba5f&limit=3&fields=results.id&reverse=false&_=1505585347125&order=asc>; rel=\"next\"",
Run Code Online (Sandbox Code Playgroud)

实际输出:

Link: ; rel="next" 
Run Code Online (Sandbox Code Playgroud)

php api pagination curl header

5
推荐指数
1
解决办法
1045
查看次数

标签 统计

api ×1

curl ×1

header ×1

pagination ×1

php ×1