接口说明

接口使用说明,开始安装代码前,请务必仔细阅读接口文档。如有需要,可联系QQ: 3444161520

1.请求方式:POST

2.请求接口地址:http://www.i3rapp.com/api/ipdetect.json

3.认证方式:HTTP head 参数

参数 必需 示例 描述
Authorization 33323:xxxxxx 认证 username 加 password,冒号分割

4.请求参数:

参数 必需 示例 描述
ip 10.49.0.12 IP可以是IPv4格式,也可以是IPv6格式,获取IP的函数可以查看文章末尾的备注。
country US,GB,CA,AU,IE,NZ 根据您的实际需要填写目标国家的iso_code_2代码, 多个国家代码请使用英文逗号隔开,更多国家的iso_code_2代码,请不要在网上随意查找,以免跟我们接口的有误差,请务必严格从此链接获取:点我查看国家代码
domain test.com 调用接口的域名。
PHP代码示例
$jsonData = array();                                // 初始化接口发送数据
if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) {     // 使用cloudflare 转发的IP地址
    $ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
} else {
    if (getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
        $ip = getenv('HTTP_CLIENT_IP');
    } elseif (getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
        $ip = getenv('HTTP_X_FORWARDED_FOR');
    } elseif (getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
        $ip = getenv('REMOTE_ADDR');
    } elseif (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
}
$boolean = true;
$hostname = gethostbyaddr($ip);
if (!empty($hostname)) {
    if(is_numeric(stripos($hostname, 'google')) || is_numeric(stripos($hostname, 'bing')) || is_numeric(stripos($hostname, 'facebook')) || is_numeric(stripos($hostname, 'microsoft'))) {
        $boolean = false;
    }
}
if($boolean) {
    $country = 'US,GB,CA,AU,IE,NZ';                     // 根据您的实际需要填写国家的iso_code_2代码, 比如设置 $country = 'US,GB';
    // 更多国家的iso_code_2代码,请不要在网上随意查找,以免跟我们接口的有误差,请务必严格从此链接获取:http://www.i3rapp.com/iplooking/country/

    $visit_domain = str_replace('www.', '', $_SERVER['HTTP_HOST']);     // 当前网站域名
    $jsonData['ip'] = $ip;
    $jsonData['country'] = $country;
    $jsonData['domain'] = $visit_domain;
    $ch = curl_init('http://www.i3rapp.com/api/ipdetect.json');
    curl_setopt($ch, CURLOPT_USERPWD, "username:password");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($jsonData));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $return = curl_exec($ch);
    $return = json_decode($return, true);
    $boolean = $return['result'];           // 返回true 访问仿品,返回false 访问正品
}
            
Java代码示例
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Calendar;

import it.sauronsoftware.base64.Base64;

public class IpCloakTest
{
	public static final String CLOAK_USERNAME = "***";

	public static final String CLOAK_PASSWORD = "***";

	public static final String CLOAK_URL = "http://www.i3rapp.com/api/ipdetect.json";

	public static void main(String[] args)
	{
		String paramData = getParamData("***", "US", "***");
		long current = Calendar.getInstance().getTimeInMillis();
		String rspData = getURLContentByConnection(CLOAK_URL, paramData);
		System.out.println("cost time:" + (Calendar.getInstance().getTimeInMillis() - current) + "ms");
		System.out.println(rspData);
	}

	public static String getParamData(String ip, String country, String domain)
	{
		return "ip=" + ip + "&country=" + country + "&domain=" + domain;
	}

	public static String getURLContentByConnection(String url, String value)
	{
		HttpURLConnection httpCon;
		StringBuffer sb = new StringBuffer();
		try
		{
			URL httpUrl = new URL(url);
			httpCon = (HttpURLConnection) httpUrl.openConnection();
			httpCon.setRequestMethod("POST");
			httpCon.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36)"); //防止报403错误
			httpCon.setRequestProperty("Authorization", "Basic " + Base64Code(CLOAK_USERNAME + ":" + CLOAK_PASSWORD));
			httpCon.setUseCaches(false);
			httpCon.setDoOutput(true);
			httpCon.setDoInput(true);
            PrintWriter printWriter = new PrintWriter(httpCon.getOutputStream());
            printWriter.write(value);
            printWriter.flush();

			BufferedReader in = new BufferedReader(new InputStreamReader(
					httpCon.getInputStream(), "utf-8"));
			String line;
			while ((line = in.readLine()) != null)
			{
				sb.append(line);
			}
		}
		catch (IOException e)
		{
			return "exception";
		}
		return sb.toString();
	}

	 /**
     * 二进制数据编码为BASE64字符串
     */
    public static String Base64Code(String Message)
    {
        return new String(Base64.encode(Message.getBytes()));
    }
}
                                        
ASP代码示例
string IP = GetClientIp();
string country = "US,GB,CA,AU,IE";
string domain = Request.ServerVariables["HTTP_HOST"].ToString();
string paramData =
        "ip=" + IP +
        "&country=" + country +
        "&domain=" + domain;

Response.Write(PageHelper.GetHttpPost("http://www.i3rapp.com/api/ipdetect.json"), paramData);

public class PageHelper {
    public static string GetHttpPost(string url, string value)
    {
        byte[] data = Encoding.UTF8.GetBytes(value);
        // Prepare web request
        HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
        myRequest.Method = "POST";
        myRequest.Headers.Add("Authorization", "Basic " + Base64Code("username:passwd"));

        myRequest.ContentType = "application/x-www-form-urlencoded";
        myRequest.ContentLength = data.Length;
        Stream newStream = myRequest.GetRequestStream();

        //Send data
        newStream.Write(data, 0, data.Length);
        newStream.Close();

        //Get response
        HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
        StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
        string content = reader.ReadToEnd();
        return content;
    }

    public static string Base64Code(String Message)
    {
        byte[] bytes = Encoding.Default.GetBytes(Message);
        return Convert.ToBase64String(bytes);
    }
}
                                        

请按步骤安装zencart版插件,如有需要,请联系QQ: 3444161520

1.下载并修改插件代码

点击下载插件文件 ip_cloak.php,解压之后,使用IDE打开进行修改。

有3点需要注意修改的地方:

1.国家代码,将示例代码27行中的国家代码修改成你的目标国家。



2.账户名与账户密码,将示例代码37行中的账户名和账户密码修改为申请的账户密码。



3.正品页面地址,将示例代码55行中的正品页面修改成自己制作的正品页面模版。您也可以点击下载我们提供的测试正品模版,作为测试使用。



2.上传插件代码

连接FTP,将修改后的插件代码传至根目录下:

3.引入插件文件

修改根目录下的index.php文件,找到代码:

require('includes/application_top.php');

加入

require('ip_cloak.php');



4.测试

重新打开域名,看看是否已经跳转到了正品的页面。如要测试国外用户是否可以正常访问,需要先将浏览器缓存清除【怎样清理浏览器缓存[各种浏览器]】,然后使用除美国之外的VPN线路翻墙访问测试。

请按步骤安装opencart版插件,如有需要,请联系QQ: 3444161520

接口所使用的两位字母国家代码请务必以以下为参考标准

国家代码 英文名称 中文名称
AF Afghanistan 阿富汗
AX Aland Islands 奥兰群岛
AL Albania 阿尔巴尼亚
DZ Algeria 阿尔及利亚
AS American Samoa 美属萨摩亚群岛
AD Andorra 安道尔公国
AO Angola 安哥拉
AI Anguilla 安圭拉
AQ Antarctica
AG Antigua and Barbuda 安提瓜和巴布达
AR Argentina 阿根廷
AM Armenia 亚美尼亚
AW Aruba 阿鲁巴
AU Australia 澳大利亚
AT Austria 奥地利
AZ Azerbaijan 阿塞拜疆
BS Bahamas 巴哈马
BH Bahrain 巴林王国
BD Bangladesh 孟加拉共和国
BB Barbados 巴巴多斯
BY Belarus 白俄罗斯
BE Belgium 比利时
BZ Belize 伯利兹
BJ Benin 贝宁
BM Bermuda 百慕大群岛
BT Bhutan 不丹
BO Bolivia, Plurinational State of 玻利维亚
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina 波黑
BW Botswana 博兹瓦纳
BV Bouvet Island 布韦岛
BR Brazil 巴西
IO British Indian Ocean Territory 英属印度洋领地
BN Brunei Darussalam 文莱达鲁萨兰国
BG Bulgaria 保加利亚
BF Burkina Faso 布基纳法索
BI Burundi 布隆迪
CV Cabo Verde 佛得角
KH Cambodia 柬埔寨
CM Cameroon 喀麦隆
CA Canada 加拿大
KY Cayman Islands 开曼群岛
CF Central African Republic 中非共和国
TD Chad 乍得共和国
CL Chile 智利
CN China 中国
CC Cocos (Keeling) Islands 科科斯群岛
CO Colombia 哥伦比亚
KM Comoros 科摩罗伊斯兰联邦共和国
CG Congo 刚果
CD Congo, The Democratic Republic of The 刚果
CK Cook Islands 库克群岛
CR Costa Rica 哥斯达黎加
CI Cote D'ivoire 科特迪瓦
HR Croatia 克罗地亚
CU Cuba 古巴
CW Curacao 库拉索岛
CY Cyprus 塞浦路斯
CZ Czech Republic 捷克
DK Denmark 丹麦
DJ Djibouti 吉布提共和国
DM Dominica 多米尼克
DO Dominican Republic 多米尼加共和国
EC Ecuador 厄瓜多尔
EG Egypt 埃及
SV El Salvador 萨尔瓦多
GQ Equatorial Guinea 赤道几内亚
ER Eritrea 厄立特里亚
EE Estonia 爱沙尼亚
ET Ethiopia 埃塞俄比亚
FK Falkland Islands (Malvinas)
FO Faroe Islands 法罗群岛
FJ Fiji 斐济共和国
FI Finland 芬兰
FR France 法国
GF French Guiana 法属圭亚那
PF French Polynesia 法属波利尼西亚
TF French Southern Territories
GA Gabon 加蓬
GM Gambia 冈比亚
GE Georgia 格鲁吉亚
DE Germany 德国
GH Ghana 加纳
GI Gibraltar 直布罗陀
GR Greece 希腊
GL Greenland 格陵兰岛
GD Grenada 格林纳达
GP Guadeloupe 瓜德罗普
GU Guam 关岛
GT Guatemala 危地马拉共和国
GG Guernsey 根西
GN Guinea 几内亚
GW Guinea-Bissau 几内亚比绍
GY Guyana 圭亚那合作共和国
HT Haiti 海地
VA Holy See 梵蒂冈
HN Honduras 洪都拉斯
HK Hong Kong 香港
HU Hungary 匈牙利
IS Iceland 冰岛
IN India 印度
ID Indonesia 印尼
IR Iran, Islamic Republic of 伊朗
IQ Iraq 伊拉克
IE Ireland 爱尔兰
IM Isle of Man 马恩岛
IL Israel 以色列
IT Italy 意大利
JM Jamaica 牙买加
JP Japan 日本
JE Jersey 泽西
JO Jordan 约旦
KZ Kazakhstan 哈萨克斯坦
KE Kenya 肯尼亚
KI Kiribati 基里巴斯
KP Korea, Democratic People's Republic of 朝鲜
KR Korea, Republic of 南韩, 韩国
KW Kuwait 科威特
KG Kyrgyzstan 吉尔吉斯斯坦
LA Lao People's Democratic Republic 老挝人民民主共和国
LV Latvia 拉脱维亚
LB Lebanon 黎巴嫩
LS Lesotho 莱索托
LR Liberia 利比里亚共和国
LY Libya 利比亚
LI Liechtenstein 列支敦士登公国
LT Lithuania 立陶宛
LU Luxembourg 卢森堡公国
MO Macao 澳门
MK Macedonia, The Former Yugoslav Republic of 马其顿
MG Madagascar 马达加斯加
MW Malawi 马拉维
MY Malaysia 马来西亚
MV Maldives 马尔代夫
ML Mali 马里
MT Malta 马耳他
MH Marshall Islands 马绍尔群岛
MQ Martinique 马提尼克
MR Mauritania 毛里塔尼亚伊斯兰共和国
MU Mauritius 毛里求斯
YT Mayotte 马约特
MX Mexico 墨西哥
FM Micronesia, Federated States of 密克罗尼西亚联邦
MD Moldova, Republic of 摩尔多瓦
MC Monaco 摩纳哥
MN Mongolia 蒙古
ME Montenegro 黑山共和国
MS Montserrat 蒙塞拉特
MA Morocco 摩洛哥
MZ Mozambique 莫桑比克
MM Myanmar 缅甸
NA Namibia 纳米比亚
NR Nauru 瑙鲁
NP Nepal 尼泊尔
NL Netherlands 荷兰
NC New Caledonia 新喀里多尼亚
NZ New Zealand 新西兰
NI Nicaragua 尼加拉瓜
NE Niger 尼日尔共和国
NG Nigeria 尼日利亚
NU Niue 纽埃岛
NF Norfolk Island
MP Northern Mariana Islands 北马里亚那群岛
NO Norway 挪威
OM Oman 阿曼苏丹国
PK Pakistan 巴基斯坦
PW Palau 帕劳
PS Palestine, State of 巴勒斯坦
PA Panama 巴拿马
PG Papua New Guinea 巴布亚新几内亚
PY Paraguay 巴拉圭
PE Peru 秘鲁
PH Philippines 菲律宾
PN Pitcairn 皮特凯恩群岛
PL Poland 波兰
PT Portugal 葡萄牙
PR Puerto Rico 波多黎各
QA Qatar 卡塔尔
RE Reunion 留尼汪岛
RO Romania 罗马尼亚
RU Russian Federation 俄罗斯
RW Rwanda 卢旺达
BL Saint Barthelemy 圣巴泰勒米岛
KN Saint Kitts and Nevis 圣基茨和尼维斯
LC Saint Lucia 圣卢西亚
MF Saint Martin (French Part)
PM Saint Pierre and Miquelon 圣皮埃尔和密克隆
VC Saint Vincent and The Grenadines 圣文森特和格林纳丁斯
WS Samoa 萨摩亚
SM San Marino 圣马力诺
ST Sao Tome and Principe 圣多美和普林西比
SA Saudi Arabia 沙特阿拉伯
SN Senegal 塞内加尔
RS Serbia 塞尔维亚
SC Seychelles 塞舌尔
SL Sierra Leone 塞拉利昂共和国
SG Singapore 新加坡
SX Sint Maarten (Dutch Part)
SK Slovakia 斯洛伐克
SI Slovenia 斯洛文尼亚
SB Solomon Islands 所罗门群岛
SO Somalia 索马里
ZA South Africa 南非
GS South Georgia and The South Sandwich Islands
SS South Sudan 南苏丹共和国
ES Spain 西班牙
LK Sri Lanka 斯里兰卡
SD Sudan 苏丹
SR Suriname 苏里南共和国
SJ Svalbard and Jan Mayen
SZ Swaziland 斯威士兰
SE Sweden 瑞典
CH Switzerland 瑞士
SY Syrian Arab Republic 阿拉伯叙利亚共和国
TW Taiwan, Province of China 台湾
TJ Tajikistan 塔吉克斯坦
TZ Tanzania, United Republic of 坦桑尼亚
TH Thailand 泰国
TL Timor-Leste 东帝汶
TG Togo 多哥
TK Tokelau 托克劳群岛
TO Tonga 汤加
TT Trinidad and Tobago 特立尼达和多巴哥共和国
TN Tunisia 突尼斯
TR Turkey 土耳其
TM Turkmenistan 土库曼斯坦
TC Turks and Caicos Islands 特克斯和凯科斯岛
TV Tuvalu 图瓦卢
UG Uganda 乌干达
UA Ukraine 乌克兰
AE United Arab Emirates 阿拉伯联合酋长国
GB United Kingdom 英国
US United States 美国
UM United States Minor Outlying Islands 美国本土外小岛屿
UY Uruguay 乌拉圭
UZ Uzbekistan 乌兹别克斯坦
VU Vanuatu 瓦努阿图
VE Venezuela, Bolivarian Republic of 委内瑞拉
VN Viet Nam 越南
VG Virgin Islands, British 英属维尔京群岛
VI Virgin Islands, U.S. 维尔京群岛
WF Wallis and Futuna 瓦利斯和富图纳群岛
YE Yemen 也门
ZM Zambia 赞比亚共和国
ZW Zimbabwe 津巴布韦