无法使用http.get flutter和一个正在工作的api获取数据



上下文

我有一个API(http(,我可以通过Postman使用GET方法访问它,而不会出现任何问题。我想使用http包从这个API为我的flutter应用程序获取数据。

问题

在进行网络请求时,使用http包的http.get((方法,如下所示,我无法从API获取数据。

Future<Product> fetchProducts(String barcodeId) async {
var vPath = '/products/' + barcodeId;
var vUri = new Uri(
scheme: 'http',
host: 'product.acirfa.tech',
port: 3000,
path: vPath,
);
// /products/224213463241
print(vPath);
// http://product.acirfa.tech:3000/products/224213463241
print(vUri);
var response = await http.get(vUri);
print(response);
if (response.statusCode == 200) {
print('OK');
} else {
print('KO');
}}

我已经打印出了作为参数传递给http.get((方法的URI(vUri(,通过单击它,我可以通过浏览器获取数据。打印出的变量";响应";未执行,这让我认为问题来自vUri。尽管我尝试过用URI Http构造函数[URI.Http((]创建URI,但我看到了同样的行为。

预期结果

我希望看到打印出来OK

有没有想过我哪里出了问题?谢谢:(

final _uri = Uri.http('www.domainName.com', 'furtherLink/page.php', {'key': '$value'});
final response = await http.get(
_uri, 
headers: {'authorization':'$_auth'}
).catchError((error) {
throw error;
});
if (response.statusCode == 200) {
print('OK');
} else {
print('KO');
}}

由于您使用的是http&不是https,它被认为是不安全的。请确保通过权限。

注意:如果使用不安全的网络,将很难在Android上发布您的应用程序;IOS。

相关内容

最新更新