我在 Dart 文件中发出了一些网络请求,我将这些请求单独用作游乐场,并且未连接到我的主应用程序。
有没有什么方法可以捕获和分析它所进行的网络活动,而无需从我的主应用程序中实际执行该脚本?
到目前为止,我看到的实现是将 ьн 沙箱脚本的执行绑定到应用程序中的按钮点击。但也许这可以做得更简单。
1 - 您可以使用fiddler等软件来分析本地计算机上的流量
2 - 您可以使用 thunder client 或 postman 在 vscode 中测试调用,以在 IDE 之外测试请求
3 - 您可以构建一个简单的 dart 包来在应用程序实际代码之外的 dart 代码中测试请求(通过
flutter create package
):
代码:
library shfl;
import 'dart:convert';
import 'package:http/http.dart' as http;
class Stuff {
static Future<String> getLiveHtml(String url) async {
var resp = await http.get(
Uri.parse(url),
headers: {
'User-Agent':
'Mozilla/5.0 (iPhone; CPU iPhone OS 12_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148'
},
);
return resp.body;
}
}
测试:
import 'package:flutter_test/flutter_test.dart';
import 'package:shfl/shfl.dart';
void main() {
test('prints html from google', () async {
var rez = await Stuff.getLiveHtml("https://google.com/");
print(rez);
});
}
在iOS上,您可以使用名为Hodor的数据包嗅探应用程序,它允许您直接捕获Flutter的网络数据包,而无需修改任何代码。它还支持捕获 TCP 和 UDP 流量。