分享一个自己写的dnspod php设置ip的脚本.
token获取见 https://support.dnspod.cn/Kb/showarticle/tsid/227/
参数传递见 http://www.dnspod.cn/docs/batch.html#batch-record-modify
脚本如下.
<?php /* * 44472@163.com */ ini_set('display_errors', 'off'); error_reporting(0); $CACHE_FILE = '/tmp/dnspod.cache.log'; //$CACHE_FILE = false; #变量为false代表不缓存每次都更新 $CONFIG = array( 'login_token'=>'', 'domain_id'=>'', 'record_id'=>'', 'sub_domain'=>'www', 'record_type'=>'A', 'record_line'=>'默认', 'format'=>'json', ); $content = (get('http://ip.taobao.com/service/getIpInfo2.php?ip=myip')); $content and $content=json_decode($content,true) or die('Ip Api Errors'); $ip = $content['data']['ip'] or die('Ip Api Errors'); if($CACHE_FILE){ if(file_get_contents($CACHE_FILE)==$ip){ die('No Change'); } file_put_contents($CACHE_FILE,$ip); } $CONFIG['value'] = $ip; echo post('https://dnsapi.cn/Record.Modify',$CONFIG); /// tools function function get($uri) { $ch = curl_init (); curl_setopt ($ch, CURLOPT_URL,$uri); curl_setopt ($ch, CURLOPT_HEADER,0); curl_setopt ($ch, CURLOPT_RETURNTRANSFER,1); $return = curl_exec ( $ch ); curl_close ( $ch ); return $return; } function post($uri,$data) { is_array($data) and $data=http_build_query($data); var_dump($data); $ch = curl_init (); curl_setopt ($ch, CURLOPT_URL,$uri); curl_setopt ($ch, CURLOPT_POST,1); curl_setopt ($ch, CURLOPT_HEADER,0); curl_setopt ($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt ($ch, CURLOPT_POSTFIELDS,$data); $return = curl_exec ( $ch ); curl_close ( $ch ); return $return; }