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

Python 2.6 HTTPS客户端POST XML后响应状态与预期不符求助

解决方法

这个问题大概率是Python 2.6版本的httplib库的特性导致的:如果没有完整读取响应体,响应对象的状态码等元数据可能没有被正确解析,哪怕是无响应体的202请求也不例外。

你可以修改代码,在读取状态码前先调用read()方法读取响应内容(哪怕是空内容),同时记得使用完毕后关闭连接:

import httplib
def https_client(client_host, client_port, client_key, client_cert, xml_file, client_path):
    headers = {"Content-type" : "application/xml"}
    http_post = httplib.HTTPSConnection(client_host, client_port, client_key, client_cert)
    http_post.request("POST", "/" + client_path, xml_file, headers)
    response1 = http_post.getresponse()
    
    # 关键步骤:读取响应内容,确保响应元数据被正确解析
    response_content = response1.read()
    
    print response1.status, response1.reason
    
    # 关闭连接,避免连接资源泄露
    http_post.close()

另外,你也可以检查一下client_path的拼接是否和curl请求的路径完全一致——有时候路径错误会导致服务器返回默认的200响应(比如请求到了一个存在但非预期的端点),这也会造成状态码不符合预期的情况。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:04:21