FormatException:无效的基数 10 数
Posted
技术标签:
【中文标题】FormatException:无效的基数 10 数【英文标题】:FormatException: Invalid radix-10 number 【发布时间】:2019-05-26 03:55:20 【问题描述】:我正在尝试使用 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);
我正在使用
import 'dart:io';
import 'dart:convert';
但是我的代码总是被发送到print(error)
并且打印的错误是
FormatException: 无效的 radix-10 数字
有什么想法吗?
谢谢!!
【问题讨论】:
你能发布整个错误日志吗? 打印response.body
并发布输出
【参考方案1】:
问题在于方案。您不必在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',
);
我建议使用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);
如果您需要设置更多内容(例如User Agents
),请使用其http client
。
【讨论】:
这太完美了!【参考方案2】:var url = Uri.https('http://192.168.43.5:3000/api', '/auth/getAllUsers', 'q': 'http');
此错误的原因是您不必像上面那样提供 https://。基本网址就足够了。此外,您应该使用Uri.http
而不是Uri.https
,因为您的URL 使用http://
(而不是https://
)。你应该这样做。
var url = Uri.http('192.168.43.5:3000/api', '/auth/getAllUsers', 'q': 'http');
【讨论】:
以上是关于FormatException:无效的基数 10 数的主要内容,如果未能解决你的问题,请参考以下文章
ValueError: int() 以 10 为基数的无效文字:''
Django - ValueError: int() 以 10 为基数的无效文字:''
django ValueError:以 10 为基数的 int() 的无效文字:''