在不运行应用程序的情况下检查 Flutter 中的网络流量

问题描述 投票:0回答:2

我在 Dart 文件中发出了一些网络请求,我将这些请求单独用作游乐场,并且未连接到我的主应用程序。

有没有什么方法可以捕获和分析它所进行的网络活动,而无需从我的主应用程序中实际执行该脚本?

到目前为止,我看到的实现是将 ьн 沙箱脚本的执行绑定到应用程序中的按钮点击。但也许这可以做得更简单。

flutter
2个回答
2
投票

1 - 您可以使用fiddler等软件来分析本地计算机上的流量

2 - 您可以使用 thunder clientpostman 在 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);
  });
}


0
投票

在iOS上,您可以使用名为Hodor的数据包嗅探应用程序,它允许您直接捕获Flutter的网络数据包,而无需修改任何代码。它还支持捕获 TCP 和 UDP 流量。

https://apps.apple.com/en/app/id1608857736

© www.soinside.com 2019 - 2024. All rights reserved.