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

Python调用Yandex OCR接口:无代理无响应,开Fiddler则正常

Yandex OCR接口直连无返回、经Fiddler可正常请求的原因分析
  • 代理/IP路由差异
    开启Fiddler后,requests会自动使用Fiddler作为代理,此时请求的出网IP、路由路径和直连时不同。Yandex的OCR接口可能对某些直连IP做了拦截(比如IP在黑名单、触发地域/频次限制),而通过Fiddler代理的IP不在限制范围内。
    验证方法:手动给requests添加Fiddler代理,关闭Fiddler后运行代码测试:

    proxies = {
        'http': 'http://127.0.0.1:8888',
        'https': 'http://127.0.0.1:8888'
    }
    response = requests.post(url, headers=headers, files=files, verify=False, proxies=proxies)
    
  • 请求内容的隐式差异
    Fiddler会自动调整请求细节,补全requests遗漏的关键信息:

    1. 文件字段名错误:代码里的fieldNameHere是占位符,实际Yandex接口要求的文件字段名可能是image或其他值。用Fiddler抓浏览器端上传请求,查看FormData里的文件字段名,替换掉这个占位符。
    2. 请求头顺序/细节差异:浏览器发送请求的头字段顺序和requests默认顺序可能不同,Yandex接口可能对头部顺序有校验。把Fiddler抓到的成功请求头部完全复制到代码中,覆盖现有headers再测试。
    3. 压缩处理差异:Fiddler会自动解压响应的压缩内容,而requests如果未正确处理Accept-Encoding,可能无法解析返回数据,导致看似无有效返回。可以尝试去掉headers里的Accept-Encoding字段,或添加response.encoding = 'utf-8'后再打印响应。
  • SSL/TLS协议兼容性问题
    requests默认的SSL/TLS协议版本可能不被Yandex接口支持,而Fiddler作为中间人会重新协商兼容的协议版本(比如TLS 1.2)。手动指定requests使用的SSL版本验证:

    import ssl
    from requests.adapters import HTTPAdapter
    from urllib3.poolmanager import PoolManager
    
    class TLS12Adapter(HTTPAdapter):
        def init_poolmanager(self, connections, maxsize, block=False):
            self.poolmanager = PoolManager(
                num_pools=connections,
                maxsize=maxsize,
                block=block,
                ssl_version=ssl.PROTOCOL_TLSv1_2
            )
    
    session = requests.Session()
    session.mount('https://translate.yandex.net', TLS12Adapter())
    response = session.post(url, headers=headers, files=files, verify=False)
    print(response.text)
    
  • 反爬机制拦截
    Yandex接口可能通过请求指纹(比如Cookie、JS生成的参数)识别非浏览器请求。代码里的sid参数为空,这个参数可能是浏览器端JS生成的会话标识,直连时缺少会被拦截,而Fiddler转发时可能自动携带了浏览器的会话Cookie或补全了sid。从Fiddler抓包中复制有效的sid值和Cookie,添加到请求URL或headers里测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 13:00:19