第一步获取accessKeyId,accessKeySecret
新建自己的工程引入阿里sdk包
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-alidns</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>2.3.8</version>
</dependency>
import java.util.List;
import com.alibaba.fastjson.JSON;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.alidns.model.v20150109.DescribeDomainRecordsRequest;
import com.aliyuncs.alidns.model.v20150109.DescribeDomainRecordsResponse;
import com.aliyuncs.alidns.model.v20150109.DescribeDomainRecordsResponse.Record;
import com.aliyuncs.alidns.model.v20150109.DescribeDomainsRequest;
import com.aliyuncs.alidns.model.v20150109.DescribeDomainsResponse;
import com.aliyuncs.alidns.model.v20150109.DescribeDomainsResponse.Domain;
import com.aliyuncs.alidns.model.v20150109.DescribeSubDomainRecordsRequest;
import com.aliyuncs.alidns.model.v20150109.DescribeSubDomainRecordsResponse;
import com.aliyuncs.alidns.model.v20150109.UpdateDomainRecordRequest;
import com.aliyuncs.alidns.model.v20150109.UpdateDomainRecordResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
public class Application {
private static IAcsClient client = null;
static {
String regionId = "cn-shenzhen"; // 必填固定值,必须为“cn-hanghou”,城市
String accessKeyId = ""; // your accessKey
String accessKeySecret = "";// your accessSecretLTAIBWXjFQ06QNFt
IClientProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);
client = new DefaultAcsClient(profile);
}
/**
*
* 获取传入的域名的所有解析
*
* @return
*/
public static void DescribeDomainRecords(String records) {
DescribeDomainRecordsRequest request = new DescribeDomainRecordsRequest();
request.setDomainName(records);
DescribeDomainRecordsResponse response;
try {
response = client.getAcsResponse(request);
List<Record> domainRecords = response.getDomainRecords();
domainRecords.forEach(e -> {
System.out.println(JSON.toJSONString(e));
});
} catch (Exception e) {
e.printStackTrace();
}
}
/**
*
* 获取传入二级域名的所有解析记录
*
* @return
*/
public static List<com.aliyuncs.alidns.model.v20150109.DescribeSubjectDomainRecordsResponse.Record>
DescribeSubDomainRecords() {
DescribeSubDomainRecordsRequest request = new DescribeSubDomainRecordsRequest();
DescribeSubDomainRecordsResponse response;
request.setSubDomain("api.baidu.com");
try {
response = client.getAcsResponse(request);
List<com.aliyuncs.alidns.model.v20150109.DescribeSubDomainRecordsResponse.Record> domainRecords =
response.getDomainRecords();
domainRecords.forEach(e -> {
System.out.println(JSON.toJSONString(e));
});
return domainRecords;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
*
* 获取所有域名解析记录
*
* @return
*/
public static void DescribeDomainsAll() {
DescribeDomainsRequest request = new DescribeDomainsRequest();
DescribeDomainsResponse response;
try {
response = client.getAcsResponse(request);
List<Domain> list = response.getDomains();
for (Domain domain : list) {
System.out.println(domain.getDomainName());
}
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
/**
*
* 获取本机外网IP
*
* @return
*/
public static String getIp() {
HttpResponse res = HttpClientConversation.getInstances().doGet("http://myip.dnsomatic.com/", null);
String sendGet = res.getResponseBody();
return sendGet;
}
/**
*
* 更新指定解析记录(recordId)解析(IP,二级前缀)
*
* @return
*/
public static void UpdateRecord() {
UpdateDomainRecordRequest request = new UpdateDomainRecordRequest();
//指定解析记录
request.setRecordId("188163121255641912471361");
request.setRR("sop");
request.setType("A");
String ip = getIp();
System.err.println("本机IP:" + ip);
request.setValue(ip);
UpdateDomainRecordResponse response;
try {
response = client.getAcsResponse(request);
System.out.println(response.getRecordId());
System.out.println(response.getRequestId());
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
}