杨幂精品国产福利在线_欧美日韩视频高清一区免费_91超碰国产在线_手机免费看不卡顿av片_日韩无码av一区二区_色一色综合婷婷成人网站_国产91福利在线精品专区_国产清纯白嫩美女在线播放_500福利视频导航_一级无码电影免费

SDK及代碼示例:IP地址/域名查詢接口API

1、PHP SDK

方法一:以 POST 方式請(qǐng)求數(shù)據(jù)

//接口參數(shù)
$api_url='http://cha.ebaitian.cn/api/json';
$api_appid='1000xxxx';
$api_appkey='56cf61af4b7897e704f67deb88ae8f24';
//函數(shù),以POST方式提交數(shù)據(jù),PHP需要開啟CURL函數(shù);數(shù)據(jù)傳輸安全,建議使用
function getIPInfo($ip){
    global $api_url,$api_appid,$api_appkey;
    $posturl=$api_url;
    $data='appid='.$api_appid.'&module=getIPAddressInfo&ip='.$ip;
    $sign=hash("sha256",$data.'&appkey='.$api_appkey);
    $postdata=array("appid"=>$api_appid,"appkey"=>$api_appkey,"module"=>"getIPAddressInfo","ip"=>$ip,'sign'=>$sign);
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $posturl);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
    $output = curl_exec($curl);
    curl_close($curl);
    $obj=json_decode($output);
    $result=$obj->result;
    if($result==1){
        $value=$obj->ipInfo->address;
        if(!empty($obj->ipInfo->isp)){
            $value.=$obj->ipInfo->isp;
        }
    }else{
        $value=$obj->flag;
    }
    return $value;
}
//調(diào)用函數(shù)
$ip='127.0.0.1';
echo getIPInfo($ip);
exit;

方法二:以 GET 方式請(qǐng)求數(shù)據(jù)

//接口參數(shù)
$api_url='http://cha.ebaitian.cn/api/json';
$api_appid='1000xxxx';
$api_appkey='56cf61af4b7897e704f67deb88ae8f24';
//函數(shù),以GET方式提交數(shù)據(jù)
function getIPInfo($ip){
    global $api_url,$api_appid,$api_appkey;
    $data='appid='.$api_appid.'&module=getIPAddressInfo&ip='.$ip;
    $sign=hash("sha256",$data.'&appkey='.$api_appkey);
    $info_get=file_get_contents($api_url.'?type=get&'.$data.'&sign='.$sign);
    $info_json=json_decode($info_get, true);
    $result=$info_json['result'];
    if($result==1){
        $value=$info_json['ipInfo']['address'];
        if(!empty($info_json['ipInfo']['isp'])){
            $value.=$info_json['ipInfo']['isp'];
        }
    }else{
        $value=$info_json['flag'];
    }
    return $value;
}
//調(diào)用函數(shù)
$ip='127.0.0.1';
echo getIPInfo($ip);
exit;

2、Java SDK

//以下示例是以 GET 方式請(qǐng)求數(shù)據(jù)
public class QueryHelper {
    public static String apiurl="http://cha.ebaitian.cn/api/json";
    public static String appid="1000xxxx";
    public static String appkey="56cf61af4b7897e704f67deb88ae8f24";
    public static String module="getIPAddressInfo";
    public static String getSHA256Str(String str){
        MessageDigest messageDigest;
        String encdeStr = "";
        try {
            messageDigest = MessageDigest.getInstance("SHA-256");
            byte[] hash = messageDigest.digest(str.getBytes("UTF-8"));
            encdeStr = Hex.encodeHexString(hash);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return encdeStr;
    }
    public static String get(String urlString) {
        try {
            URL url = new URL(urlString);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setConnectTimeout(5 * 1000);
            conn.setReadTimeout(5 * 1000);
            conn.setDoInput(true);
            conn.setDoOutput(true);
            conn.setUseCaches(false);
            conn.setInstanceFollowRedirects(false);
            conn.setRequestMethod("GET"); 
            int responseCode = conn.getResponseCode();
            if (responseCode == 200) {
                StringBuilder builder = new StringBuilder();
                BufferedReader br = new BufferedReader(
                        new InputStreamReader(conn.getInputStream(),"utf-8"));
                for (String s = br.readLine(); s != null; s = br.readLine()) {
                    builder.append(s);
                }
                br.close();
                return builder.toString();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
    public static String queryIP(String ip){
        String sign=getSHA256Str("appid="+appid+"&module="+module+"&ip="+ip+"&appkey="+appkey);
        String url=apiurl+"?type=get&appid="+appid+"&module="+module+"&ip="+ip+"&sign="+sign;
        return get(url);
    }
}
//使用示例
QueryHelper.queryIP("127.0.0.1");

3、Python SDK

#!/usr/bin/python
# -*- coding: utf-8 -*-
import httplib2
import hashlib
from urllib.parse import urlencode #python3
#from urllib import urlencode #python2
apiurl='http://cha.ebaitian.cn/api/json'
appid='1000xxxx'
appkey='56cf61af4b7897e704f67deb88ae8f24'
module='getIPAddressInfo'
ip='127.0.0.1'
data='appid='+appid+'&module='+module+'&ip='+ip
sign_data=data+'&appkey='+appkey
# from Crypto.Cipher import AES
# from Crypto.Hash import SHA256
# 256
hash_256 = hashlib.sha256()
hash_256.update(sign_data.encode('utf-8'))
sign = hash_256.hexdigest()
postdata = urlencode({'appid':appid,'module':module,'ip':ip,'sign':sign})
url = apiurl+'?type=get&'+postdata
http = httplib2.Http()
response, content = http.request(url,'GET')
print(content.decode("utf-8"))

4、Node.js SDK

方法一:以 POST 方式請(qǐng)求數(shù)據(jù)

//以 POST 方式提交
var http = require('http');  
var querystring = require('querystring');  
//參數(shù)設(shè)置
var appid = '1000xxxx';
var appkey = '56cf61af4b7897e704f67deb88ae8f24';
var module = 'getIPAddressInfo';
//目標(biāo)查詢IP地址/域名
var ip='127.0.0.1';
//簽名,SHA256 不可直接調(diào)用;函數(shù)參考下載地址:https://github.com/alexweber/jquery.sha256
var sign = SHA256('appid='+appid+'&module='+module+'&ip='+ip+'&appkey='+appkey);
//這是需要提交的數(shù)據(jù)
var post_data = {
    appid: appid,  
    module: module,
    ip: ip,
    sign: sign
};  
var content = querystring.stringify(post_data);  
var options = {  
    hostname: 'cha.ebaitian.cn',  
    port: 80,  
    path: '/api/json',  
    method: 'POST',  
    headers: {  
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'  
    }  
};  
var req = http.request(options, function (res) {  
    console.log('STATUS: ' + res.statusCode);  
    console.log('HEADERS: ' + JSON.stringify(res.headers));  
    res.setEncoding('utf8');  
    res.on('data', function (chunk) {  
        console.log('BODY: ' + chunk);  
    //JSON.parse(chunk)
    });  
});  
req.on('error', function (e) {  
    console.log('problem with request: ' + e.message);  
});  
// write data to request body  
req.write(content);  
req.end();

方法二:以 GET 方式請(qǐng)求數(shù)據(jù)

//以 GET 方式提交
var http = require('http');  
var querystring = require('querystring');  
//參數(shù)設(shè)置
var appid = '1000xxxx';
var appkey = '56cf61af4b7897e704f67deb88ae8f24';
var module = 'getIPAddressInfo';
//目標(biāo)查詢IP地址/域名
var ip='127.0.0.1';
//簽名,SHA256 不可直接調(diào)用;函數(shù)參考下載地址:https://github.com/alexweber/jquery.sha256
var sign = SHA256('appid='+appid+'&module='+module+'&ip='+ip+'&appkey='+appkey);
//這是需要提交的數(shù)據(jù)
var data = {
    appid: appid, 
    module: module,
    ip: ip,
    sign: sign
};
var content = querystring.stringify(data);  
var options = {  
    hostname: 'cha.ebaitian.cn',  
    port: 80,  
    path: '/api/json?' + content,  
    method: 'GET'  
};  
var req = http.request(options, function (res) {  
    console.log('STATUS: ' + res.statusCode);  
    console.log('HEADERS: ' + JSON.stringify(res.headers));  
    res.setEncoding('utf8');  
    res.on('data', function (chunk) {  
        console.log('BODY: ' + chunk);
    });  
});  
req.on('error', function (e) {  
    console.log('problem with request: ' + e.message);  
});  
req.end();

5、C# SDK

using System;
using System.Collections.Generic;
using System.Web;
using System.Net;
using System.Text;
public class getIPInfo{
    public static string getInfo(string appid, string appkey, string module, string ip){
        string url = string.Format("http://cha.ebaitian.cn/api/json?type=get&appid={0}&module={1}&ip={2}&sgin={3}", appid, module, ip, sgin);
        using (WebClient client = new WebClient()){
            client.Encoding = Encoding.UTF8;
            return client.DownloadString(url);
        }
    }
}
string ipInfo = getIPInfo.getInfo("1000xxxx", "getIPAddressInfo", "127.0.0.1", "ecab4881ee80ad3d76bb1da68387428ca752eb885e52621a3129dcf4d9bc4fd4", Request.UserHostAddress);
Console.WriteLine(ipInfo);
Response.Write(ipInfo);

6、JavaScript SDK

方法一:以 POST 方式請(qǐng)求數(shù)據(jù)

//使用 JQuery 請(qǐng)先加載最新的 JQuery 插件
//參數(shù)設(shè)置
var apiurl = 'http://cha.ebaitian.cn/api/json';
var appid = '1000xxxx';
var appkey = '56cf61af4b7897e704f67deb88ae8f24';
var module = 'getIPAddressInfo';
//目標(biāo)查詢IP地址/域名
var ip='127.0.0.1';
//簽名,SHA256 不可直接調(diào)用;函數(shù)參考下載地址:https://github.com/alexweber/jquery.sha256
var sign = SHA256('appid='+appid+'&module='+module+'&ip='+ip+'&appkey='+appkey);
//提交數(shù)據(jù)
$.ajax({
    url:apiurl,
    type:'post',
    dataType:'json',
    data:{
        appid:appid,
        module:module,
        ip:ip,
        sign:sign
    },
    success:function(res){
        console.log(res);
    }
});

方法二:以 GET 方式請(qǐng)求數(shù)據(jù)

//使用 JQuery 請(qǐng)先加載最新的 JQuery 插件
//參數(shù)設(shè)置
var apiurl = 'http://cha.ebaitian.cn/api/json';
var appid = '1000xxxx';
var appkey = '56cf61af4b7897e704f67deb88ae8f24';
var module = 'getIPAddressInfo';
//目標(biāo)查詢IP地址/域名
var ip='127.0.0.1';
//簽名,SHA256 不可直接調(diào)用;函數(shù)參考下載地址:https://github.com/alexweber/jquery.sha256
var sign = SHA256('appid='+appid+'&module='+module+'&ip='+ip+'&appkey='+appkey);
//提交數(shù)據(jù)
$.ajax({
    url:apiurl,
    type:'post',
    dataType:'json',
    data:{
        appid:appid,
        module:module,
        ip:ip,
        sign:sign
    },
    success:function(res){
        console.log(res);
    }
});

7、ASP SDK

'設(shè)置參數(shù)
dim apiurl, appid, appkey, module, ip, sign
apiurl="http://cha.ebaitian.cn/api/json"
appid="1000xxxx'
appkey="56cf61af4b7897e704f67deb88ae8f24"
module="getIPAddressInfo"
ip="127.0.0.1"
'簽名,SHA256 不可直接調(diào)用;函數(shù)參考地址:https://blog.csdn.net/yesoce/article/details/128546
sgin=SHA256("appid=&appid&"&module="&module&"&ip="&ip&"&appkey="&appkey)
'異步提交數(shù)據(jù)
function PostHTTPPage(url,data)
    dim Http 
    set Http=server.createobject("MSXML2.SERVERXMLHTTP.3.0")
    Http.open "POST",url,false
    Http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    Http.send(data) 
    if Http.readystate<>4 then 
    exit function 
    End if
    PostHTTPPage=bytesToBSTR(Http.responseBody,"UTF-8")
    set http=nothing 
    if err.number<>0 then err.Clear 
End function
'提交數(shù)據(jù)
dim postdata, strTest
postdata="appid=&appid&"&module="&module&"&ip="&ip&"&sign="&sign
strTest=PostHTTPPage(apiurl,postdata)
'返回結(jié)果
response.write(strTest)
response.end
點(diǎn)贊 0 分享
本文為「本站原創(chuàng)」,未經(jīng)我們?cè)S可,嚴(yán)謹(jǐn)任何人或單位以任何形式轉(zhuǎn)載或刊載本文章,我們保留依法追究侵權(quán)的權(quán)力!

微信聯(lián)系我們

億百天技術(shù)客戶服務(wù)

使用微信掃一掃

昵稱:億百天技術(shù)

公司:湖北億百天信息技術(shù)有限公司

電話:027-88773336

手機(jī):15342213852

郵箱:serviceebaitian.cn

相關(guān)欄目

加載中...

成為會(huì)員立享特權(quán)

立即注冊(cè)億百天公司會(huì)員,在線聯(lián)系客服立即享受會(huì)員特權(quán),還有豐厚禮品贈(zèng)送;簽約時(shí)可以享受特低折扣優(yōu)惠,期待您的加入!

客服熱線:400-840-3336

我們?yōu)槟峁﹤€(gè)性化的售前咨詢服務(wù),及全面的技術(shù)售后服務(wù)。