php - PHP cURL GET 对 REST API 的请求不返回任何内容
问题描述
我正在尝试使用UMLS Search REST API。我成功检索了 TGT 和 ST。但是,当尝试按照文档中所述进行搜索时,我根本没有得到任何回应。这是我的代码:
<?php
$service_ticket='xxx' //ST retrieve earlier
$cURLConnection = curl_init();
curl_setopt($cURLConnection, CURLOPT_URL,"https://uts-ws.nlm.nih.gov/rest/search/current");
curl_setopt($cURLConnection, CURLOPT_RETURNTRANSFER, true);
//avoid unable to get local issuer certificate
$values = array(
'ticket' => $service_ticket,
'string' => 'C0162565'
);
$params = http_build_query($values);
curl_setopt($cURLConnection, CURLOPT_POSTFIELDS, $params);
$qresult = curl_exec($cURLConnection);
curl_close($cURLConnection);
$jsonArrayResponse = json_decode($qresult,true);
print_r($jsonArrayResponse);
?>
解决方案
API 需要一个 GET 请求,但curl_setopt($cURLConnection, CURLOPT_POSTFIELDS, $params);
正在使用将请求类型更改为 POST。删除此命令并将参数直接添加到 URL 可以解决问题。
推荐阅读
- javascript - Rxjs 在管道中调用另一个订阅并以角度更改根订阅的变量
- single-page-application - Auth0 - 用户保持登录状态多长时间?
- python - 如何使用一个数据框的内容来索引另一个多级索引数据框?
- postgresql - Keycloak 在启动期间重试数据库连接
- python - 将函数应用于数据框列时处理空值
- c++ - 是否可以将 Qt WebEngine 中的代理 URL 列入白名单
- regex - 使用正则表达式在bash中提取字符串的第一个单词
- bash - 在bash中搜索多个目录中的文件
- c# - 将c#中的简单加密方法转换为php
- r - 使用 Lead() 和可能的循环添加新变量