繁体   English   中英

通过 Python 和 Godaddy API 检查域的可用性

[英]Check the domain availability via Python and Godaddy API

我在 txt 文件 ('links.txt') 中有一个域名列表,我想检查它的可用性并将其写入不同的 txt 文件 ('available_domains.txt')(如果可用)。 我写的代码如下:

import requests
import time
import json

api_key = "3mM44UaguNL6GH_Kc3bKzig25G1mZtnA87nwS"
secret_key = "37ZnMbQkQrYJ5pF57ZhrEi"

headers = {"Authorization" : "sso-key {}:{}".format(api_key, secret_key)}

url = "https://api.godaddy.com/v1/domains/available"
appraisal = "https://api.godaddy.com/v1/appraisal/{}"

do_appraise = True

with open("links.txt") as f:
    for domains in f:
        availability_res = requests.post(url, json=domains, headers=headers)
        for domain in json.loads(availability_res.text)['domains']:
            if domain['available']:
                with open("available_domains.txt", 'w', newline="", encoding="UTF-8") as f:
                    f.write(domain)
            else:
                print("Not Available")

但我收到如下错误:

for domain in json.loads(availability_res.text)["domains"]:
KeyError: 'domains'

我是新手。 而且我不认为我的代码是正确的。 如果你有任何想法,你能帮我吗??

我发现了你的问题。

您需要使用 get requests 函数的“params”标志来定义“域”。

这是一个对我有用的小片段(你需要将它合并到你的 for 循环中)

api_key = "YOURKEYHERE"
secret_key = "YOURKEYHERE"

headers = {"Authorization": "sso-key {}:{}".format(api_key, secret_key)}
url = "https://api.godaddy.com/v1/domains/available"
test = get(url, params={'domain':'google.co.uk'}, headers=headers).text
print(test)

我的任务是在 python 中做同样的事情。 感谢这篇博客Godaddy 的 Python 域名 API,我能够完成这个任务。 试试看

发生此错误是因为您每分钟可以发送的请求数受到限制,您必须在每 20 个请求后添加 time.sleep(48) 以这种方式不会收到此错误

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM