Dart 从HttpClient请求返回响应正文
这是我的密码:Dart 从HttpClient请求返回响应正文,dart,flutter,Dart,Flutter,这是我的密码: Future<String> fetch(url) async { Directory tempDir = await getTemporaryDirectory(); String tempPath = tempDir.path; var cj = new PersistCookieJar(tempPath); HttpClient client = new HttpClient(); var request = awa
Future<String> fetch(url) async {
Directory tempDir = await getTemporaryDirectory();
String tempPath = tempDir.path;
var cj = new PersistCookieJar(tempPath);
HttpClient client = new HttpClient();
var request = await client.getUrl(Uri.parse(url));
request.cookies.addAll(cj.loadForRequest(Uri.parse(url)));
var response = await request.close();
cj.saveFromResponse(Uri.parse(url), response.cookies);
// I tried using .toString() but it returns an " Instance of '_HttpClientResponse' "
return response.toString();
}
Future fetch(url)异步{
目录tempDir=await getTemporaryDirectory();
字符串tempPath=tempDir.path;
var cj=新的PersistCookieJar(tempPath);
HttpClient=新的HttpClient();
var request=await client.getUrl(Uri.parse(url));
request.cookies.addAll(cj.loadForRequest(Uri.parse(url));
var response=wait request.close();
cj.saveFromResponse(Uri.parse(url)、response.cookies);
//我尝试使用.toString(),但它返回一个“'\u HttpClientResponse'的实例”
返回response.toString();
}
我花了几个小时试图找到一种返回回复正文的方法,但没有成功,请有人帮助我。没关系,我已经解决了它 我使用了以下代码:
Future<String> fetch(url) async {
Directory tempDir = await getTemporaryDirectory();
String tempPath = tempDir.path;
var cj = new PersistCookieJar(tempPath);
HttpClient client = new HttpClient();
var request = await client.getUrl(Uri.parse(url));
request.cookies.addAll(cj.loadForRequest(Uri.parse(url)));
var response = await request.close();
cj.saveFromResponse(Uri.parse(url), response.cookies);
// I had to transform the response for it to work
var body = await response.transform(Utf8Decoder(allowMalformed: true)).join();
return body;
}
Future fetch(url)异步{
目录tempDir=await getTemporaryDirectory();
字符串tempPath=tempDir.path;
var cj=新的PersistCookieJar(tempPath);
HttpClient=新的HttpClient();
var request=await client.getUrl(Uri.parse(url));
request.cookies.addAll(cj.loadForRequest(Uri.parse(url));
var response=wait request.close();
cj.saveFromResponse(Uri.parse(url)、response.cookies);
//我必须改变反应才能让它起作用
var body=wait response.transform(Utf8Decoder(allowMalformed:true)).join();
返回体;
}