求助:api.ipify.org在Firefox/Safari中请求失败,Chrome正常
问题:api.ipify.org在Firefox、Safari请求失败,Chrome可正常访问
针对https://api.ipify.org/?format=json的HTTP请求失败,响应信息为:0 未知错误。
遇到的具体问题:访问api.ipify.org时,Firefox和Safari浏览器均请求失败,但Chrome浏览器可正常工作,不清楚原因。使用的C#代码如下:
var httpClient = new HttpClient(); var ip = await httpClient.GetStringAsync("https://api.ipify.org"); Console.WriteLine($"My public IP address is: {ip}");
请求失败截图:
排查与解决建议
- 核对浏览器代理配置:Firefox、Safari可能使用了和Chrome不同的代理,尝试关闭代理或切换为系统默认代理后重试。
- 清理浏览器缓存:旧缓存可能引发请求异常,清空浏览器缓存和Cookie后重新发起请求。
- 检查TLS版本设置:不同浏览器默认TLS版本可能有差异,api.ipify.org可能要求特定版本,可在浏览器设置中启用TLS 1.2或1.3。
- 测试带格式参数的请求:尝试请求
https://api.ipify.org/?format=json(带格式参数),看是否能正常响应。 - 排查安全软件拦截:本地防火墙、杀毒软件可能拦截了Firefox/Safari对该域名的请求,临时关闭后测试。
- 代码层面优化:在HttpClient中显式指定TLS版本,避免因版本兼容问题导致请求失败,示例代码如下:
var httpClientHandler = new HttpClientHandler(); httpClientHandler.SslProtocols = SslProtocols.Tls12 | SslProtocols.Tls13; var httpClient = new HttpClient(httpClientHandler); var ip = await httpClient.GetStringAsync("https://api.ipify.org"); Console.WriteLine($"My public IP address is: {ip}");
内容的提问来源于stack exchange,提问作者Pranjal Prakash Srivastava
相关产品推荐
相关产品推荐

