我尝试这样做。但这给了我错误:未处理的异常:HandshakeException:客户端中的握手错误(OS错误: E / flutter(31038):WRONG_VERSION_NUMBER(tls_record.cc:242))主机名有好名字。这是一台服务器。
这是我的代码。该怎么做?
var queryParameters = {
'abc': 'abc',
'bcd': 'bcd,
'cde' : 'cde'
};
var uri = Uri.https('www.xyz.pl:1234', '/admin/api/get', queryParameters);
var response1 = await http.get(uri);
答案 0 :(得分:1)
伪
var res = await http.get(
Uri.encodeFull('www.xyz.pl'),
headers : queryParameters);
硬编码
var res = await http.get(
Uri.encodeFull('www.xyz.pl'),
headers : {
"abc": "abc",
"bcd": "bcd",
"cde": "cde"
});
final statusCode = res.statusCode;
说明如何在此处提出经过身份验证的请求-https://flutter.dev/docs/cookbook/networking/authenticated-requests
答案 1 :(得分:1)
var queryParameters = {
'abc': 'abc',
'bcd': 'bcd,
'cde' : 'cde'
};
var uri ='www.xyz.pl:1234/admin/api/get'; // your url
bool trustSelfSigned = true;
HttpClient httpClient = new HttpClient()
..badCertificateCallback =
((X509Certificate cert, String host, int port) => trustSelfSigned);
IOClient ioClient = new IOClient(httpClient);
await ioClient.get(Uri.parse(uri), body: queryParameters).then((response) {
if (response.statusCode == 200) {
print(response);
}
尝试此代码
答案 2 :(得分:0)
您可以创建Map<String, String> headers, body, encoding
来传递多个请求参数。您可以检查它here。