为什么我部署在本地的Julia服务收到GET请求时会挂起?
你出现该问题的核心原因是请求使用的协议和本地启动的服务协议不匹配:你启动的是普通HTTP服务,但是两次请求都错误使用了https前缀,无法和未配置SSL证书的服务建立连接,因此出现挂起、无响应的表现。
具体修正方案
1. Julia终端GET请求修正
将请求URL的https改为http即可,修正后代码:
using HTTP r = HTTP.request("GET", "http://127.0.0.1:8000")
请求完成后可通过String(r.body)查看返回的文本内容。
2. Chrome控制台fetch请求修正
需要修改两处问题:
- 将请求URL的
https改为http - 你的服务返回的是普通文本,不是JSON格式,需将
res.json()改为res.text(),否则会抛出JSON解析错误
修正后代码:
fetch("http://127.0.0.1:8000") .then(res => res.text()) .then(console.log)
如果出现跨域报错,可在服务端响应中添加CORS允许头,修改服务端返回代码为:
return HTTP.Response(200, ["Access-Control-Allow-Origin" => "*"], body="Helllllo")
内容的提问来源于stack exchange,提问作者Micoloth
相关产品推荐
相关产品推荐

