gpt4 book ai didi

php - 如何通过 PHP 访问 RESTful API

转载 作者:可可西里 更新时间:2023-10-31 22:10:23 26 4
gpt4 key购买 nike

我对 PHP 和使用 RESTful API 的整个过程还很陌生。我现在想做的就是成功发出一个普通的 HTTP GET 请求到OpenStreetMap API .

我正在使用 simple PHP REST client by tcdent我基本上了解它的功能。我在 OSM 中获取当前变更集的示例代码是:

<?php
include("restclient.php");

$api = new RestClient(array(
'base_url' => "http://api.openstreetmaps.org/",
'format' => "xml")
);
$result = $api->get("api/0.6/changesets");

if($result->info->http_code < 400) {
echo "success:<br/><br/>";
} else {
echo "failed:<br/><br/>";
}
echo $result->response;
?>

当我在浏览器中输入 URL“http://api.openstreetmaps.org/api/0.6/changesets”时,它会传送 XML 文件。但是,通过此 PHP 代码,它会返回 OSM 404 File not Found 页面。

我想这是一个相当愚蠢的 PHP 新手问题,但我看不出我遗漏了什么,因为我(还)对所有这些客户端-服务器端进程等了解不多。

感谢您的帮助!

最佳答案

使用 curl 。参见 http://www.lornajane.net/posts/2008/using-curl-and-php-to-talk-to-a-rest-service

   $service_url = 'http://example.com/rest/user/';
$curl = curl_init($service_url);
$curl_post_data = array(
"user_id" => 42,
"emailaddress" => 'lorna@example.com',
);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);
$curl_response = curl_exec($curl);
curl_close($curl);

$xml = new SimpleXMLElement($curl_response);

关于php - 如何通过 PHP 访问 RESTful API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7999323/

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