测试用例
就目前而言,https://api.ip2country.info/ip?5.6.7.8
httpie 的请求返回重定向错误代码,但在 postman 中有效api.ip2country.info/ip?5.6.7.8
。
解决方案
该请求在邮递员中有效,因为邮递员使用硬编码的查询参数直接访问 url。通过在命令行上允许构建器交互,Httpie 应该“更容易”。
该命令本质上将构建一个不同于插入邮递员的预期 urlhttp api.ip2country.info ip==5.6.7.8
的请求。http://api.ip2country.info?ip=5.6.7.8
- 故意的:
https://api.ip2country.info/ip?5.6.7.8
- 实际的:
http://api.ip2country.info?ip=5.6.7.8
通过直接将查询参数编码为 httpie 并将方案更改为 https like https api.ip2country.info/ip?5.6.7.1
,响应
{
"countryCode": "DE",
"countryCode3": "DEU",
"countryEmoji": "" ,
"countryName": "Germany"
}
被检索。唯一提供的查询参数是一个没有值的单键 IP,httpie 在他们的构建器中不支持它(因为它是相当禁忌的),并且要求它只是手动附加到请求 URL 的末尾?{ip}