今天項目要用到 查詢訪問網站用戶的IP
然后網上查詢了 資料還很多 不過有些已經失效了 在這總結下
騰訊,pconline 的API已經失效 不能使用
淘寶的IP接口地址: http://ip.taobao.com/instructions.php
騰訊的IP地址API接口地址:http://fw.qq.com/ipaddress
新浪的IP地址查詢接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
新浪多地域測試方法:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=218.192.3.42
搜狐IP地址查詢接口(默認GBK):http://pv.sohu.com/cityjson
搜狐IP地址查詢接口(可設置編碼):http://pv.sohu.com/cityjson?ie=utf-8
搜狐另外的IP地址查詢接口:http://txt.go.sohu.com/ip/soip
這個上面大多都容易查到
還有一個 API比較全面
http://whois.pconline.com.cn 這個很強大 也比較詳細
但是這個有問題 他JSON格式 屬於回調 本地運行可以 放到項目里面就報錯403
最終我也沒有選擇這個來使用
/** * 獲取ip 接口 * @access public 以淘寶的接口為實例 */ public function get_ip_info($ip) { $curl = curl_init(); //這是curl的handle //下面是設置curl參數 $url = "http://ip.taobao.com/service/getIpInfo.php?ip=$ip"; curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl, CURLOPT_HEADER, 0); //don't show header curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //相當關鍵,這句話是讓curl_exec($ch)返回的結果可以進行賦值給其他的變量進行,json的數據操作,如果沒有這句話,則curl返回的數據不可以進行人為的去操作(如json_decode等格式操作) curl_setopt($curl, CURLOPT_TIMEOUT, 2); //這個就是超時時間了 $data = curl_exec($curl); return json_decode($data, true); }