说明:以下代码在php 7.1.9通过,php 5.x sdk会报错
1、安装依赖
说明:https://github.com/aliyun/openapi-sdk-php/blob/master/README-zh-CN.md
打开cmd,在项目根目录执行:
composer require alibabacloud/sdk
2、在项目根目录建一个测试文件,如:test.php,输入以下代码:
require __DIR__ . '/vendor/autoload.php';
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
// Download:https://github.com/aliyun/openapi-sdk-php
// Usage:https://github.com/aliyun/openapi-sdk-php/blob/master/README.md
//<accessKeyId>、<accessSecret>换成自己的
AlibabaCloud::accessKeyClient('<accessKeyId>', '<accessSecret>')
->regionId('cn-hangzhou')
->asDefaultClient();
try {
$result = AlibabaCloud::rpc()
->product('geoip')
// ->scheme('https') // https | http
->version('2020-01-01')
->action('DescribeIpv4Location')
->method('POST')
->host('geoip.aliyuncs.com')
->options([
'query' => [
'Ip' => "117.189.52.150",
],
])
->request();
print_r($result->toArray());
} catch (ClientException $e) {
echo $e->getErrorMessage() . PHP_EOL;
} catch (ServerException $e) {
echo $e->getErrorMessage() . PHP_EOL;
}
3、在浏览器打开test.php,输出结果如下类似:
Array ( [ProvinceEn] => Guizhou [RequestId] => 60045C5F-A342-42A9-B248-F824414E2C1F [CityEn] => Zunyi [Ip] => 117.189.52.150 [Isp] => 中国移动 [Latitude] => 27.706626 [City] => 遵义市 [County] => [Longitude] => 106.937265 [Province] => 贵州省 [CountryEn] => China [Country] => 中国 [CountryCode] => CN )