Dan*_*ssa 10 http radix flutter
我正在尝试使用 Flutter 和 HttpClient 接收获取请求。
这是我正在尝试完成的完整代码。
getSuggest() async {
try {
var httpClient = new HttpClient();
var uri = new Uri.http(
'http://autocomplete.geocoder.api.here.com', '/6.2/suggest.json', {
'app_id': 'APP_ID',
'app_code': 'APP_CODE',
'query': '123 Main Street',
'country': 'USA',
'language': 'en',
});
var request = await httpClient.getUrl(uri);
var response = await request.close();
var responseBody = await response.transform(Utf8Decoder()).join();
Map data = jsonDecode(responseBody);
print(data);
} catch (error) {
print(error);
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用
import 'dart:io';
import 'dart:convert';
Run Code Online (Sandbox Code Playgroud)
但是我的代码总是被发送到print(error)并且打印的错误是
FormatException: 无效的基数 10 数字
有任何想法吗?
谢谢!!
sha*_*eep 25
问题是方案。您不必在Uri.http或Uri.https方法中设置它,它是自动设置的,因此更改为以下内容:
Uri.http(
'autocomplete.geocoder.api.here.com', '/6.2/suggest.json', {
'app_id': 'APP_ID',
'app_code': 'APP_CODE',
'query': '123 Main Street',
'country': 'USA',
'language': 'en',
});
Run Code Online (Sandbox Code Playgroud)
我建议使用http包并执行以下操作:
import 'package:http/http.dart' as http;
import 'dart:convert';
final json = const JsonCodec();
getSuggest() async {
try {
var uri = Uri.http(
'autocomplete.geocoder.api.here.com', '/6.2/suggest.json', {
'app_id': 'APP_ID',
'app_code': 'APP_CODE',
'query': '123 Main Street',
'country': 'USA',
'language': 'en',
});
var response = await http.get(uri);
var data = json.decode(response.body);
print(data);
} catch (error) {
print(error);
}
}
Run Code Online (Sandbox Code Playgroud)
http client如果您需要设置更多内容(例如User Agents),请使用它。
| 归档时间: |
|
| 查看次数: |
21240 次 |
| 最近记录: |