【问题标题】:The remote server returned an error: (400) Bad Request. api.reseller.world远程服务器返回错误:(400) 错误请求。 api.reseller.world
【发布时间】:2020-04-16 17:49:48
【问题描述】:

我尝试使用http://api.reseller.world/#api-Domain-GetInfo获取域 whois 信息,收到此错误:远程服务器返回错误:(400) Bad Request。

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
string apiAddress = "https://api.reseller.world/v1.4/dms/domain/{0}";
string api = string.Format(apiAddress, domainName);
var request = (HttpWebRequest)WebRequest.Create(api);
request.Headers.Add("Authorization", "Bearer token");
request.Method = HttpMethod.Get.ToString();
request.Accept = "application/json";
request.ContentType = "application/json; charset=UTF-8";

HttpWebResponse response;
try
{
    response = (HttpWebResponse)request.GetResponse();
}
catch (WebException we)
{
    var resp = we.Response as HttpWebResponse;
    return null;
}

【问题讨论】:

  • 查看您的链接。有可选参数。所有其他参数都是必需的,并且您缺少大部分必需参数。 400 错误表明服务器不喜欢 hedaders。
  • @jdweng 我做的就像我们这里的api.reseller.world/#api-Domain-GetInfo 一样,可以得到我错过的发送
  • 新链接说400是缺少参数之一。
  • @jdweng 请写下我错过的内容

标签: c# .net api httpwebrequest webrequest


【解决方案1】:

见下图“缺少必需参数”

【讨论】:

  • 我说的是“获取域 whois 信息”,而你说的是“获取特定类型域的列表”
  • 所有 400 错误都是由于请求错误造成的。也许没有缺少参数,但语法不好。
【解决方案2】:

我阅读了您的代码和 api 文档并在您使用的 URL 中发现了不同的地方

https://api.reseller.world/v1.4/dms/domain/{0}

形成somting后的样子

https://api.reseller.world/v1.4/dms/domain/something.something

和文档网址

https://api.reseller.world/v1.4/dms/domain/:domainName

格式化后

https://api.reseller.world/v1.4/dms/domain/:something.something

不同的是“:”

但我没有 api 密钥来测试这个想法

或者您可能需要根据您的请求设置 UserAgent 属性。据我记得,C# 没有设置这个属性。

【讨论】:

    猜你喜欢
    • 2018-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-21
    • 1970-01-01
    相关资源
    最近更新 更多