開發者需要使用 PHP 從 https://www.taodake.com 遠程抓取淘寶旺旺號的查詢數據。已知一個可用的 JSONP 接口地址,但普通旺旺號可查,商城/ C 店旺旺卻查不到,推測存在另一個接口。
function escape($string, $in_encoding = 'UTF-8', $out_encoding = 'UCS-2') {
$return = '';
if (function_exists('mb_get_info')) {
for ($x = 0; $x < mb_strlen($string, $in_encoding); $x++) {
$str = mb_substr($string, $x, 1, $in_encoding);
if (strlen($str) > 1) {
$return .= '%u' . strtoupper(bin2hex(mb_convert_encoding($str, $out_encoding, $in_encoding)));
} else {
$return .= $str;
}
}
}
return $return;
}
$nick = escape('top百分百');
$taobaourl = 'https://wwwsoso002.taodake.com/taobao_data.php?callback=&nick=' . $nick . '&chkid=0&click=373635346667686A63786365&_=1422435566660';
$ch = curl_init();
curl_setopt($ch, CURLOPT_REFERER, 'https://www.taodake.com/');
curl_setopt($ch, CURLOPT_COOKIE, 'Hm_lvt_ebeb4888fc38c5c3a030f255b55395e3=1422448628; Hm_lpvt_ebeb4888fc38c5c3a030f255b55395e3=1422448800');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36');
curl_setopt($ch, CURLOPT_URL, $taobaourl);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($ch);
curl_close($ch);
$content = trim($content, '()'); // 去除 JSONP 回調函數括號
$data = json_decode($content, true);
echo $data['b'];
escape 函數將中文昵稱轉為 %uXXXX 格式,符合接口參數要求。callback(...) 格式,去除首尾括號後直接 json_decode。若商城/ C 店旺旺無法查詢,需抓包分析網頁實際請求,尋找另一個接口(如 givetraderate.php),並按相同邏輯調用。