gpt4 book ai didi

java - Godaddy API 获取所有域并打印自动化,打印 null

转载 作者:太空宇宙 更新时间:2023-11-04 10:27:43 33 4
gpt4 key购买 nike

目前正在尝试使用他们的 API 自动获取我的所有 Godaddy 域(顺便说一句,我正在使用 IntelliJ Ultimate)。我目前正在收到回复,一切似乎都运行良好,除了当我尝试打印所有域名称时,它只是打印出“Null”。下面是我的代码:

public class GoDaddyGET {


Properties prop = new Properties();


public void getData() throws IOException {

FileInputStream fis = new FileInputStream("C:\\Users\\nerdi\\FableMedia\\src\\main\\java\\files\\env.properties");
prop.load(fis);

//prop.getProperty("HOST");
}


public void Test(){

// write your code here

//BaseURL or Host
RestAssured.baseURI = prop.getProperty("GODADDYHOST");

Response res = given().
header("Authorization", prop.getProperty("GODADDYKEY")).log().all().
header("Content-Type", "application/json").
header("Accept", "application/json").
param("includes", "contacts").
when().
get(Resources.godaddyGetData()).
then().assertThat().statusCode(200).
and().
contentType(ContentType.JSON).
and().
body("array[0].domain",equalTo("SENSITIVE INFORMATION")).
and().
body("array[0].domainId",equalTo("SENSITIVE INFORMATION")).
and().
header("Server", "SENSITIVE INFORMATION").log().body().

extract().response();


JsonPath js = ReusableMethods.rawToJson(res);

int count = js.get("array.size()");

for (int i = 0; i < count; i++){
String name = js.get("array["+i+"].domain");
System.out.println(name);
}
System.out.println(count);

}
}

下面是我的终端输出:

Request method: GET
Request URI: https://api.godaddy.com/v1/domains?includes=contacts
Proxy: <none>
Request params: includes=contacts
Query params: <none>
Form params: <none>
Path params: <none>
Headers: Authorization=sso-key APIKEY:APISECRET
Accept=application/json
Content-Type=application/json; charset=UTF-8
Cookies: <none>
Multiparts: <none>
Body: <none>
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
23

===============================================
Default Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================


Process finished with exit code 0

我已经用谷歌地图以完全相同的方式完成了此操作,它按预期工作。

更新 1

以下是 Json 响应的一部分:

[ { "domainId": SENSITIVE INFORMATION, "domain": "SENSITIVE INFORMATION", "status": "ACTIVE", "expires": "2018-08-13T06:37:31Z", "expirationProtected": false, "holdRegistrar": false, "locked": true, "privacy": true, "renewAuto": true, "renewable": true, "transferProtected": false, "createdAt": "2015-08-13T06:37:31Z" }, 

无法将整个内容粘贴到此处,因为它太长了。然而,基本上是这 22 次(总共 23 次),但显而易见。具有不同的信息。

最佳答案

我希望这能起作用。

    DocumentContext js = JsonPath.parse(res);
JSONArray domains = js.read("$..domain");
for(int i = 0; i < domains.size(); i++)
System.out.println(domains.get(i));

获取原始响应对象 res 并创建 DocumentContext

DocumentContext js = JsonPath.parse(res);

读取 JSONArray 中的所有域

JSONArray domains = js.read("$..domain");

然后迭代

for(int i = 0; i < domains.size(); i++)
System.out.println(domains.get(i));

关于java - Godaddy API 获取所有域并打印自动化,打印 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50347409/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com