编辑:问题现已解决
我在这里尝试了这个解决方案,但对我来说没有效果。
案例
- 我已提供互联网权限
- 我正在实际设备上运行
- 我的设备上有一个活动的互联网连接
基本上,我在python中构建了一个API,并将其部署在vercel
上。现在我正在尝试使用flutter从我的API获取详细信息。链路是https://dailyhunt.vandit.cf/dailyhunt?category=technology
它在web
上运行良好,但在实际设备上不起作用
我的代码太长了,被分隔在多个文件中,所以我可以提供这个:
import 'package:news_app/models/article_model.dart';
import 'package:http/http.dart' as http;
import 'package:news_app/constants.dart';
import 'dart:convert';
class News {
List<ArticleModel> news = [];
Future getNews() async {
http.Client client = http.Client();
http.Response response = await client.get(Uri.parse(kDailyhuntEndpoint));
if (response.statusCode == 200) {
var jsonData = jsonDecode(response.body);
if (jsonData['success'] == true) {
jsonData['data'].forEach((element) {
if (element['imageUrl'] != "" && element['content'] != "") {
List<String> raw = element['PublishedTime'].split(" ");
String date = raw[0];
String time = raw[1];
ArticleModel articleModel = ArticleModel(
publishedDate: date,
publishedTime: time,
image: element['imageUrl'].toString(),
content: element['content'].toString(),
fullArticle: element['publisherStory'].toString(),
views: element['viewCount'].toString(),
title: element['title'].toString(),
);
news.add(articleModel);
}
});
} else {
print('ERROR');
}
}
}
}
它正在给出响应。我已经在真实的设备上测试了它,它运行良好
Future getNews() async {
http.Response response = await http
.get("https://dailyhunt.vandit.cf/dailyhunt?category=technology");
if (response.statusCode == 200) {
var jsonData = jsonDecode(response.body);
print(jsonData);
if (jsonData['success'] == true) {}
} else {
print('ERROR');
}
}