-
Notifications
You must be signed in to change notification settings - Fork 241
/
DemoApiRequest.php
75 lines (52 loc) · 1.69 KB
/
DemoApiRequest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<html>
<head>
<title>Dianping API PHP Samples</title>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
</head>
<body>
<?php
//需要PHP 5 以上以及安装curl扩展
//AppKey 信息,请替换
define('APPKEY','XXXXXXXX');
//AppSecret 信息,请替换
define('SECRET','XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
//API 请求地址
define('URL', 'http://api.dianping.com/v1/business/find_businesses');
//示例请求参数
$params = array('format'=>'json','city'=>'上海','latitude'=>'31.2204200000392','longitude'=>'121.41163000018','radius'=>'1000','offset_type'=>'1','sort'=>'7','has_deal'=>'1','has_coupon'=>'1','category'=>'美食','region'=>'长宁区','limit'=>'20','keyword'=>'泰国菜');
//按照参数名排序
ksort($params);
//print($params);
//连接待加密的字符串
$codes = APPKEY;
//请求的URL参数
$queryString = '';
while (list($key, $val) = each($params))
{
$codes .=($key.$val);
$queryString .=('&'.$key.'='.urlencode($val));
}
$codes .=SECRET;
//print($codes);
$sign = strtoupper(sha1($codes));
$url= URL . '?appkey='.APPKEY.'&sign='.$sign.$queryString;
$curl = curl_init();
// 设置你要访问的URL
curl_setopt($curl, CURLOPT_URL, $url);
// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_ENCODING, 'UTF-8');
// 运行cURL,请求API
$data = json_decode(curl_exec($curl), true);
// 关闭URL请求
curl_close($curl);
print('Your request based on: ');
print('<br/>');
print_r($params);
print('<br/>');
print('Result:');
print('<hr/>');
var_dump($data);
?>
</body>
</html>