首頁 | 最新資訊 | 如何使用PHP語言通過API獲取IP?
如何使用PHP語言通過API獲取IP?
發布時間 2019-10-12

如何使用PHP語言通過API獲取IP?代碼示例如下:


<?php

$getipHost='127.0.0.1';

$orderId = "O19071120220871127417"; #用戶編號

$sign = "f59a37612177d5eb6b8f3e9d8c7f4f56"; #秘鑰


$time=time(); #當前時間戳

$type=1; #ip協議  1表示HTTP/HTTPS

$num=1; #提取數量 1-200之間

$pid=-1; #省份 -1表示中國

$cid=''; #城市 可為空

$unbindTime=60; #占用時長(單位秒)

$dataType=0; #返回的數據格式 0表示json

$noDuplicate=0; #是否去重 0表示不去重 1表示24小時去重

$singleIp=0; #異常切換  0表示切換  1表示不切換


$getipUrl='/api/getIp?type='.$type.'&num='.$num.'&pid='.$pid.'&unbindTime='.$unbindTime.'&cid='.$cid.'&orderId='.$orderId.'&time='.$time.'&sign='.$sign.'

&noDuplicate='.$noDuplicate.'&dataType='.$dataType.'&lineSeparator=0&singleIp='.$singleIp;


$getipLink=$getipHost.$getipUrl;

// echo $getipLink;exit;


// 用get方式獲取

$ch = curl_init();

$timeout = 5;

curl_setopt ($ch, CURLOPT_URL, $getipLink);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$ret = curl_exec($ch);

curl_close($ch);

// var_dump($ret);exit;


    $retArr=json_decode($ret,true);


//如果返回的值不正確則輸出報錯信息

    if(!isset($retArr['serialNo'])){

        echo '錯誤信息:'.$ret;

        exit;

    }


// 要訪問的目標頁面

    $targetUrl = "http://www.kwmaagqd.cn";


    // 代理服務器

$proxyServer = "http://".$retArr['data'][0]['ip'].":".$retArr['data'][0]['port']; #使用其中一個

$data=curlReq($targetUrl,$proxyServer);

var_dump($data);


/*    foreach($retArr['data'] as $v){

    // 代理服務器

    $proxyServer = "http://".$v['ip'].":".$v['port'];

    $data=curlReq($targetUrl,$proxyServer);

    var_dump($data);

    }*/


/**

* 用代理服務器請求目標頁

* @param  string $targetUrl   目標頁

* @param  string $proxyServer 代理服務器

* @return string              代理服務器及目標頁

*/

    function curlReq($targetUrl,$proxyServer){


    $ch = curl_init();


    curl_setopt($ch, CURLOPT_URL, $targetUrl);


    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, false);


    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);


    // 設置代理服務器

    curl_setopt($ch, CURLOPT_PROXYTYPE, 0); //http


    // curl_setopt($ch, CURLOPT_PROXYTYPE, 5); //sock5


    curl_setopt($ch, CURLOPT_PROXY, $proxyServer);


    // 設置驗證信息

    curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);


    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727;)");


    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);


    curl_setopt($ch, CURLOPT_TIMEOUT, 5);


    curl_setopt($ch, CURLOPT_HEADER, true);


    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);


    $result = curl_exec($ch);


    curl_close($ch);


    return $result;

    }


返回列表
PHP
代理IP
IP提取
密室逃出生天