gpt4 book ai didi

python-3.x - 如何在Dart中使用参数和 header (Uri)发出HTTP请求

转载 作者:行者123 更新时间:2023-12-03 04:23:41 26 4
gpt4 key购买 nike

我是Flutter的新手。我想从https://rapidapi.com/网站获得来自API的请求。请帮助我将Python转换为Dart。

我可以使用链接https://covid-19-data.p.rapidapi.com/totals代替uri获取总数据,但无法通过传递国家/地区名称来获得国家/地区数据。

这是Python代码,我想在Dart(Flutter)中使用它

import requests

url = "https://covid-19-data.p.rapidapi.com/country"

querystring = {"format":"undefined","name":"italy"}

headers = {
'x-rapidapi-host': "covid-19-data.p.rapidapi.com",
'x-rapidapi-key': "84768ddbd5mshe582f65a69666d5p1fea75jsn3a2b9202cc14"
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

,这就是我在Dart中所做的。我收到错误
{"type":"https:\/\/tools.ietf.org\/html\/rfc2616#section-10","title":"An error occurred","detail":"Parameter name is missing"}
状态码为400。
import 'package:flutter/cupertino.dart';
import 'package:http/http.dart' as http;

class NetworkingBrain {
NetworkingBrain({@required this.params});

final params;

Future<void> getData() async {
try {
var value = {'country1': params};
var uri = Uri.parse('https://covid-19-data.p.rapidapi.com/country')
.replace(queryParameters: value)
.toString();

http.Response response = await http.get(uri, headers: {
'x-rapidapi-host': "covid-19-data.p.rapidapi.com",
'x-rapidapi-key': "84768ddbd5mshe582f65a69666d5p1fea75jsn3a2b9202cc14"
});
print(response.body);
print(response.statusCode);
} catch (e) {
print(e);
}
}
}

请帮我解决一下这个。

最佳答案

您传递了错误的参数。

通过name作为key
如下:

   var value = {'name': params};

代替
  var value = {'country1': params};

关于python-3.x - 如何在Dart中使用参数和 header (Uri)发出HTTP请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61094915/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com