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

Python Requests访问Jiomart.com本地返回200,部署至Digital Ocean服务器后返回404问题求助

解决Jiomart.com在Digital Ocean服务器上返回404的问题

我之前也碰到过类似的情况,大概率是Jiomart的反爬机制针对云服务商IP做了限制——很多电商平台会把Digital Ocean这类云主机的IP段加入黑名单,防止批量爬虫请求,这就导致本地能正常访问,但部署到云服务器后直接返回404。

给你几个排查和解决的方向:

  • 统一请求头,模拟浏览器访问
    本地环境的请求头(比如User-Agent)和服务器上默认的Requests请求头可能差异很大,Jiomart可能通过这个识别出你是服务器端的爬虫请求。手动设置一个常见浏览器的User-Agent试试:

    site = requests.Session()
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36',
        'Accept-Language': 'en-US,en;q=0.9'
    }
    res = site.get('https://www.jiomart.com/', headers=headers)
    print(res.status_code)
    
  • 验证服务器IP是否被封禁
    在Digital Ocean服务器上用curl命令直接测试,看看返回的响应头和内容:

    curl -v https://www.jiomart.com/
    

    如果返回的还是404,并且响应内容里有类似“访问被拒绝”的提示,那基本可以确定是IP被Jiomart拉黑了。

  • 尝试使用代理IP
    如果IP确实被封,可以找个可靠的代理IP(比如付费的住宅代理),在Requests里配置代理:

    proxies = {
        'http': 'http://your-proxy-address:port',
        'https': 'https://your-proxy-address:port'
    }
    res = site.get('https://www.jiomart.com/', headers=headers, proxies=proxies)
    
  • 检查DNS解析是否正常
    有时候服务器的DNS解析可能指向了错误的节点,导致访问失败。你可以在服务器上执行ping www.jiomart.com,对比本地ping的结果,如果IP不一致,尝试更换DNS服务器(比如改成Google的8.8.8.8):

    echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
    

如果以上方法都无效,还可以试试联系Digital Ocean客服更换服务器IP,或者用Cloudflare Tunnel这类工具转发请求,伪装你的真实服务器IP。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 23:34:10