Python无法向本地Julia服务器发送POST请求,返回403错误
解决方法
先去掉本地请求的代理配置
本地服务(127.0.0.1/localhost)根本不需要走外部代理,你加的proxies参数会把请求转去代理服务器,导致真正的Julia服务器完全没收到请求——这就是为什么服务器没打日志、返回404的原因。直接删了proxies试试:import requests data = {"key": "value"} r = requests.post('http://127.0.0.1:7000', json=data) print(r.status_code) print(r.json())修复本地服务检测函数
之前的internet_on返回False,也是代理搞的鬼。改成强制不走代理访问本地:from urllib import request def local_server_on(): try: req = request.Request('http://127.0.0.1:7000') req.set_proxy('', 'http') # 清空代理设置 request.urlopen(req, timeout=1) return True except request.URLError as err: return False print(local_server_on())直接复用PostMan的请求代码(兜底方案)
如果上面两步还不行,打开PostMan,找到你能成功请求的那个POST请求,点击右上角的「代码」按钮,选择Python - requests,直接复制生成的代码到你的项目里——这样能保证请求头、参数和PostMan完全一致,避免手动写的遗漏。
内容的提问来源于stack exchange,提问作者Karthik K S
相关产品推荐
相关产品推荐

