gpt4 book ai didi

json - 使用golang的http请求中的nil chan,中断调用

转载 作者:数据小太阳 更新时间:2023-10-29 03:23:25 24 4
gpt4 key购买 nike

我正在尝试调用 name.com API(并且成功了,除了一次调用......当我尝试调用他们的 Search() 方法时,我收到错误。

这是我的代码:

func TestExecute() string{
client := &http.Client{}
body := []byte("keyword=web")
req, newReqErr := http.NewRequest("POST", "https://api.name.com/v4/domains:search", bytes.NewBuffer(body))
check("new Request Error: ", newReqErr)

req.SetBasicAuth("username", "[TOKEN ]")

fmt.Println(req)

resp, doErr := client.Do(req)
check("client Do Error: ", doErr)

bodyText, readErr := ioutil.ReadAll(resp.Body)
check("Read error: ", readErr)

fmt.Printf("Result: %s\n", bodyText)

return fmt.Sprintf("StatusCode: %d\n%s", resp.StatusCode, bodyText)

}

请求文本如下:

&{POST https://api.name.com/v4/domains:search HTTP/1.1 1 1 map[Authorization:[Basic cldokleodjjAzMWNlODY2MjRlYmI5xxkxjdkfOWI4ZjNhMWQ5NmVmOGIA5YTA=]] {keyword=web} 11 [] false api.name.com map[] map[] <nil> map[]   <nil> <nil>}

这是回应:

{"message":"Invalid Argument","details":"Error occurred during parsing: Cannot decode json string."}

似乎一些空结构(内部的,不是我的)被引入到头文件中。或者 name.com 解析不正确。

想法?

最佳答案

根据 Name.com API Documentation POST/v4/domains:search 请求的主体需要表示为 JSON。他们在边栏中显示了一个示例 JSON 正文。

{"keyword":"example"}

为了生成 JSON 正文并确保所有转义都正确发生,让我们定义以下 JSON 格式化结构。

type DomainSearch struct {
Keyword string `json:"keyword"`
}

然后将您的 body := []byte("keyword=web") 替换为 JSON 正文:

body, err := json.Marshal(DomainSearch{"web"})

假设您有一个有效的 Name.com API token ,您应该会看到一个 200 响应返回一个 JSON 响应主体,类似于:

{
"results": [
{
"domainName": "web.blog",
"sld": "web",
"tld": "blog"
},
{
"domainName": "web.cam",
"sld": "web",
"tld": "cam"
},
{
"domainName": "web.camera",
"sld": "web",
"tld": "camera",
"purchasable": true,
"premium": true,
"purchasePrice": 500,
"purchaseType": "registration",
"renewalPrice": 500
},
{
"domainName": "web.cloud",
"sld": "web",
"tld": "cloud"
},
...
]
}

关于json - 使用golang的http请求中的nil chan,中断调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48999116/

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