api - Flutter response.body 为空
问题描述
我正在使用此 API 向此站点发出 http 请求以检索我的数据
https://fantasy.premierleague.com/api/bootstrap-static/
第一次使用时,我无法检索任何数据,经过一些研究,我通过简单的颤振升级解决了这个问题(我不知道问题是什么,或者升级后为什么解决了),然后过了几天我正在处理该项目,但问题再次发生,每次我尝试提出请求时我都会得到一个空的身体
http.get("https://fantasy.premierleague.com/api/bootstrap-static/")
我正在使用此行获取响应值,然后尝试将其解码为 JSON 值,但发生此错误
exeption occured : FormatException: Unexpected end of input (at character 1)
我已经知道发生这个错误是因为我试图解码一个空的身体,但我不明白为什么会这样
注意:我尝试了多个其他 API url,它们都可以正常工作!
解决方案
如果您使用 cURL 转储标头,这就是我得到的:
HTTP/1.1 301 Moved Permanently
Server: Varnish
Retry-After: 0
Location: https://fantasy.premierleague.com/api/bootstrap-static/
Content-Length: 0
Accept-Ranges: bytes
Date: Sat, 21 Nov 2020 15:58:17 GMT
Via: 1.1 varnish
Connection: close
X-Served-By: cache-bom4748-BOM
X-Cache: HIT
X-Cache-Hits: 0
X-Timer: S1605974297.185069,VS0,VE0
HTTP/2 200
server: Varnish
retry-after: 0
content-type: application/json
accept-ranges: bytes
date: Sat, 21 Nov 2020 15:58:17 GMT
via: 1.1 varnish
x-served-by: cache-bom4732-BOM
x-cache: MISS
x-cache-hits: 0
x-timer: S1605974297.371758,VS0,VE0
content-length: 0
请求被重定向,但在 dart/flutter 中似乎没有办法解决这个问题。
检查这些答案:
推荐阅读
- java - 矩阵上的 Dijkstra 算法
- typescript - 如何使用打字稿模块扩充修补类构造函数?
- docker - Nginx 代理管理器(NGINX 反向代理)可以连接到 Cloudflare Argo 隧道吗?
- mongodb - Mongoose如何将元素推送到数组数组的模式
- c# - c# 将字符串解析为日期。'yyyyMMddHHmmss.ffffff+zzz'
- java - 值未存储在不同方法之间的变量中(初学者java项目)
- python - Docker如何将python 3.8设为默认
- python - 如何在 Django 中存储文件
- python - 如何根据两个现有数据框和匹配的条件从循环中创建多个数据框?
- windows - 有没有办法确定 Wix 安装中的 GPU 数量?