资源简介

通过在阿里云申请的 开发者id来进行动态的dns设置(ddns): 可以省去购买花生棒的钱, 并且实现的更稳定 ~ 不限制带宽 ~ 更改自己的域名 , 启动运行即可 (Java代码实现)

资源截图

代码片段和文件信息

package cn.itdage.demo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.URL;
import java.net.URLConnection;
import java.util.Date;
import java.util.List;

import com.aliyun.api.AliyunClient;
import com.aliyun.api.AliyunConstants;
import com.aliyun.api.DefaultAliyunClient;
import com.aliyun.api.dns.dns20150109.request.DescribeSubDomainRecordsRequest;
import com.aliyun.api.dns.dns20150109.request.UpdateDomainRecordRequest;
import com.aliyun.api.dns.dns20150109.response.DescribeSubDomainRecordsResponse;
import com.aliyun.api.dns.dns20150109.response.UpdateDomainRecordResponse;
import com.aliyun.api.domain.Record;

public class DemoListDomains {
private static AliyunClient client;

static {
String serverUrl = “http://dns.aliyuncs.com/“;
String accessKeyId = ““;
String accessKeySecret = ““;

client = new DefaultAliyunClient(serverUrl accessKeyId accessKeySecret AliyunConstants.FORMAT_JSON);
}

public static void main(String[] args) {
try {
// 获取域名信息
DescribeSubDomainRecordsRequest ddi_req = new DescribeSubDomainRecordsRequest();
ddi_req.setTimestamp(new Date().getTime());
DescribeSubDomainRecordsResponse ddi_resp = new DescribeSubDomainRecordsResponse();
ddi_req.setSubDomain(“www.leshops.com.cn“);
ddi_resp = client.execute(ddi_req);

List list = ddi_resp.getDomainRecords();
boolean changed = false;
for (Record record : list) {
String ip = getMyIPOutter();// 获得本机公网IP

System.out.println(“old_ip : “ + record.getValue());
System.out.println(“outter_ip : “ + ip);
if (!ip.equals(record.getValue())) {
// 根据传入参数修改解析记录
UpdateDomainRecordRequest udr_req = new UpdateDomainRecordRequest();
udr_req.setTimestamp(new Date().getTime());
udr_req.setRecordId(record.getRecordId());
udr_req.setrR(record.getrR());
udr_req.setValue(ip);
udr_req.setType(record.getType());
udr_req.settTL(record.gettTL());
udr_req.setPriority(record.getPriority());
udr_req.setLine(record.getLine());

UpdateDomainRecordResponse udr_resp = new UpdateDomainRecordResponse();
udr_resp = client.execute(udr_req);
if (udr_resp.getErrorCode() == null) {
System.out.println(“success“);
changed = true;
} else {
System.out.println(“error“);
}
}

}
if (!changed) {
System.out.println(“need not change“);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(“error“);
}
}

private static String getMyIPOutter() throws IOException {
InputStream ins = null;
try {
URL url = new URL(“http://1212.ip138.com/ic.asp“);
URLConnection con = url.openConnection();
ins = con.getInputStream();
InputStreamReader isReader = new InputStreamReader(ins “GB2312“);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-03-29 23:03  AliyunDdnsTool\
     文件         525  2017-09-21 14:05  AliyunDdnsTool\.classpath
     文件         390  2016-02-17 20:32  AliyunDdnsTool\.project
     目录           0  2016-03-29 23:03  AliyunDdnsTool\.settings\
     文件         283  2017-09-21 14:04  AliyunDdnsTool\.settings\org.eclipse.core.resources.prefs
     文件         598  2016-02-17 20:32  AliyunDdnsTool\.settings\org.eclipse.jdt.core.prefs
     目录           0  2017-09-21 14:05  AliyunDdnsTool\bin\
     目录           0  2017-09-21 14:05  AliyunDdnsTool\bin\cn\
     目录           0  2017-09-21 14:05  AliyunDdnsTool\bin\cn\itdage\
     目录           0  2017-09-21 14:10  AliyunDdnsTool\bin\cn\itdage\demo\
     文件        5510  2017-09-21 14:05  AliyunDdnsTool\bin\cn\itdage\demo\DemoListDomains.class
     文件        3404  2017-09-21 14:07  AliyunDdnsTool\bin\cn\itdage\demo\ExternalIpAddressFetcher.class
     文件         806  2017-09-21 14:07  AliyunDdnsTool\bin\cn\itdage\demo\Test1.class
     文件         116  2017-09-21 14:10  AliyunDdnsTool\bin\cn\itdage\demo\readme
     目录           0  2016-03-29 23:03  AliyunDdnsTool\lib\
     文件     1582144  2016-02-17 20:33  AliyunDdnsTool\lib\taobao-sdk-java-aliyun_dns-20160125-source.jar
     文件     1893119  2016-02-17 20:33  AliyunDdnsTool\lib\taobao-sdk-java-aliyun_dns-20160125.jar
     目录           0  2017-09-21 14:04  AliyunDdnsTool\src\
     目录           0  2017-09-21 14:04  AliyunDdnsTool\src\cn\
     目录           0  2017-09-21 14:04  AliyunDdnsTool\src\cn\itdage\
     目录           0  2017-09-21 14:09  AliyunDdnsTool\src\cn\itdage\demo\
     文件        3705  2017-09-21 14:04  AliyunDdnsTool\src\cn\itdage\demo\DemoListDomains.java
     文件        2790  2017-09-21 14:07  AliyunDdnsTool\src\cn\itdage\demo\ExternalIpAddressFetcher.java
     文件         324  2017-09-21 14:07  AliyunDdnsTool\src\cn\itdage\demo\Test1.java
     文件         116  2017-09-21 14:10  AliyunDdnsTool\src\cn\itdage\demo\readme

评论

共有 条评论