我正在尝试基于他们在这里提供的API开发GoDaddy的客户端应用程序https://developer.godaddy.com 我有一个简单示例的问题,我正在尝试使用下一个PHP代码来检查域是否可用:
use GuzzleHttp\Client;
try {
$client = new Client([
'base_uri' => 'https://api.godaddy.com',
]);
$responce = $client->get(
'/v1/domains/available?domain=example.guru',
[
'headers' => [
'Authorization' => "sso-key $myKey:$mySecret",
'X-Shopper-Id' => "$myID",
'Accept' => 'application/json',
]
]
);
echo $responce->getBody();
} catch (Exception $e) {
echo $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud)
而且我一直都会收到错误:"客户端错误:401".我使用cURL库时遇到同样的问题.我没有找到任何在线支持.我需要帮助,有人可以解释我应该如何授权他们的api服务吗?也许我需要发送任何其他http标头或其他参数?
从 SendGrid 添加 CNAME 后,无法使用 GoDaddy 验证域
我正在尝试使用GoDaddy的API将A记录添加到域中,但我在浏览器的控制台中收到了422(不可处理的实体)响应错误.但是,当我在https://developer.godaddy.com/doc#!/_v1_domains/recordAdd/ArrayOfDNSRecord上使用GoDaddy的文档测试请求时,我在下面的主体中收到404响应错误:
错误回复正文:
{
"code": "UNKNOWN_DOMAIN",
"message": "The given domain is not registered, or does not have a zone file",
"name": "_Class"
}
Run Code Online (Sandbox Code Playgroud)
我试图添加A记录的域肯定存在,所以我不知道为什么它会返回404错误.我使用GET请求检索属于域的所有A记录没有问题,但是当我尝试运行下面的PATCH请求时,我得到了错误.
GoDaddy的API有什么问题,或者我是如何构建我的请求的?
PATCH请求返回错误
$.ajax({
type: 'PATCH',
url: 'https://api.godaddy.com/v1/domains/{domain}/records',
data: {
'records': [{
'type': 'A',
'name': 'test',
'data': '255.255.255.255'
}]
},
headers: {
'Authorization': 'sso-key {API_KEY}:{API_SECRET}'
},
success: function(body) {
console.log(body);
}
});
Run Code Online (Sandbox Code Playgroud)
GET请求工作正常
$.ajax({
type: 'GET',
url: 'https://api.godaddy.com/v1/domains/{domain}/records/A',
headers: {
'Authorization': 'sso-key {API_KEY}:{API_SECRET}'
},
success: function(body) {
$.each(body, function(i, v) {
$('body').append('<p>Name: ' + v.name + …Run Code Online (Sandbox Code Playgroud) 我在 godaddy 上有一个网站,其中有一个部分可以留下您的姓名、电子邮件和消息。自从添加此功能以来,我从randomcharacters-sitename @data-backup-store.com获得了一些条目。有谁知道这是什么?
我在互联网上搜索了一下它是什么,但没有找到太多。
我正在构建一个检查域可用性的应用程序。现在,我正在使用goDaddy API;根据goDaddy的说法,检查URL可用性的方法是通过以下cURL命令:
curl -X GET -H "Authorization: sso-key {API_KEY}:{API_SECRET}" "https://api.godaddy.com/v1/domains/available?domain=example.guru"
Run Code Online (Sandbox Code Playgroud)
现在,我正在尝试将该cURL命令转换为Swift。我正在使用Alamofire;但是,当我发出请求时,出现如下错误:
必须指定凭证
我想知道如何解决这个问题。这是我当前的代码:
class ViewController: UIViewController {
let key = "KEYKEYKEY"
let secret = "SECRETSECRET"
var headers: HTTPHeaders = [:]
override func viewDidLoad() {
super.viewDidLoad()
let credential = URLCredential(user: key, password: secret, persistence: .forSession)
Alamofire.request("https://api.godaddy.com/v1/domains/available?domain=example.guru")
.authenticate(usingCredential: credential)
.responseJSON { response in
debugPrint(response)
}
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be …Run Code Online (Sandbox Code Playgroud) 所以我尝试运行以下命令
sudo certbot certonly --nginx --dry-run -d subdomain.domain.com -d www.subdomain.domain.com
Run Code Online (Sandbox Code Playgroud)
这给了我一个 DNS 问题,但是,它在运行时有效
sudo certbot certonly --nginx --dry-run -d subdomain.domain.com
Run Code Online (Sandbox Code Playgroud)
我的 DNS 记录中是否遗漏了某些内容?
我已经成功运行了
sudo certbot certonly --nginx --dry-run -d domain.com -d www.domain.com
Run Code Online (Sandbox Code Playgroud)
如果我使用子域名,是否需要为“www”部分创建特定的 DNS 记录?
编辑 运行“dig subdomain.domain.com”的结果
; <<>> DiG 9.11.5-P4-5.1ubuntu2.1-Ubuntu <<>> subdomain.domain.co.uk
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45932
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 traefik v2.2 和 GoDaddy 建立通配符证书机制。我想要做的是为 URL 模式 *.example.org 生成有效的证书。这是我的 docker-compose:
version: '3.7'
services:
traefik:
image: traefik:v2.2
container_name: traefik
restart: always
env_file:
- .provider.env
# .provider.env contains `GODADDY_API_KEY` and `GODADDY_API_SECRET`
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./tls-certificates:/tls-certificates
ports:
# http
- 8080:80
# https
- 443:443
command:
- --api.dashboard=true
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --providers.docker.network=proxy
- --entrypoints.webinsecure.address=:80
- --entrypoints.websecure.address=:443
# --certificatesresolvers.<name> Certificates resolvers configuration
# ACME V2 supports wildcard certificates.
# Wildcard certificates can only be generated through a DNS-01 challenge.
- …Run Code Online (Sandbox Code Playgroud) 我在 ec2 实例上托管了一个 python Flask 应用程序,并且运行完美。当我运行 python 文件时,它托管在http://132.2303.9:5000/类似的东西上,我可以通过我的网络访问它,但我想知道如何将它连接到我的 godaddy 域名http:// /abcd.com以便我的用户可以使用此 abcd.com URL 使用同一台 aws ec2 计算机访问我的服务。我是 aws 新手,观看了一些有关 Route53 的教程,但无法弄清楚。谁能帮我解决这个问题。谢谢
dns amazon-ec2 amazon-web-services amazon-route53 godaddy-api
所以我制作了一个 NextJS 应用程序,并使用 firebase 进行身份验证和 firestore。我已从 GoDaddy 购买了一个域名,目前将其托管在 Vercel 上。
一切都按预期工作,除了我无法为 firebase 添加自定义域(当用户单击登录按钮时)。它仍然显示project-uid.firebaseapp.com
有什么办法可以改变这种情况吗?
我无法在 firebase 托管上托管我的应用程序(因为我丢失了 SSR 和 ISR,而且我也有一些 API,而且 NextJS + Cloud Functions/Cloud Run 设置也不必要地复杂)。
我尝试添加自定义域,但它从未得到验证(已经使用了 3 周)。
我已经在 GoDaddy 上设置了一个帐户,并拥有用于访问 API 的开发人员密钥。使用 Fiddler,我能够构建一个返回结果的请求。但是,从控制台应用程序使用以下代码失败并显示“未经授权”。我在两个地方都使用相同的地址和密钥。
我错过了什么?
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Authorization", "sso-key VUjHMntw_UyosKRMGaLXE4e3E1h29Xx:DSqM2jiJcRyXvSbLehjYUZ");
HttpResponseMessage response = await client.GetAsync("https://api.ote-godaddy.com/v1/domains/available?domain=google.com");
if (response.IsSuccessStatusCode)
{
var result = await response.Content.ReadAsAsync<string>();
Console.WriteLine(result);
}
else
{
Console.WriteLine(response.ReasonPhrase);
}
}
Run Code Online (Sandbox Code Playgroud)
注意:授权密钥和秘密已被修改。
以下是我在 Fiddler 中所做的工作:
使用 API,我尝试在 GoDaddy 中获取域名可用性及其价格。但是,前端 GoDaddy 网页上显示的价格(11.99 美元)与通过 API 获取的价格(7490000 美元)不匹配。
我想通过 CURL 或任何其他 Shell/Bash 命令通过 API删除单个 DNS 记录( A记录)。
我还尝试访问 GoDaddy 的网站,但不幸的是它不再存在并返回 404。
有可能吗,我该怎么办?