You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Jellybean环境下curl无法解析主机问题求助

Android Jellybean下curl无法解析主机名的解决办法

问题复现

执行命令:

curl http://www.pu.edu.pk/

返回错误:

curl: (6) Could not resolve host:

但相同URL用wget可正常解析访问:

wget http://www.pu.edu.pk/

输出显示主机名成功解析为111.68.103.27并完成请求。使用的curl版本为8.0.1,带有AsynchDNS特性。

解决步骤

  • 强制curl使用指定DNS或关闭异步DNS
    你的curl编译时启用了AsynchDNS特性,可能在Android Jellybean的旧系统环境下存在兼容性问题。尝试以下命令:

    # 指定公共DNS服务器
    curl --dns-servers 8.8.8.8 http://www.pu.edu.pk/
    # 关闭异步DNS特性
    curl --disable-AsynchDNS http://www.pu.edu.pk/
    
  • 检查并修复系统DNS配置
    查看系统DNS配置文件内容:

    cat /etc/resolv.conf
    

    如果文件中无有效nameserver条目,手动添加:

    echo "nameserver 8.8.8.8" >> /etc/resolv.conf
    

    部分Android系统会动态生成该文件,此时指定curl用固定DNS的方法更可靠。

  • 重新编译不带AsynchDNS的curl
    若你是自行编译的curl,重新编译时添加禁用异步DNS的参数:

    ./configure --disable-async-dns [其他编译参数]
    make && make install
    

    这样curl会使用系统默认的DNS解析逻辑,和wget保持一致。

  • 排查代理配置干扰
    检查是否存在错误的代理环境变量:

    echo $HTTP_PROXY
    echo $HTTPS_PROXY
    

    若有异常配置,清空代理变量:

    unset HTTP_PROXY HTTPS_PROXY
    

内容的提问来源于stack exchange,提问作者Furqan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 12:42:20