gpt4 book ai didi

c# - 在 C# 中配置 BrowserMobProxy

转载 作者:行者123 更新时间:2023-12-04 17:31:46 24 4
gpt4 key购买 nike

谁能提供一个正确的例子来说明如何在 C# 中使用 Selenium Webdriver 配置 BrowserMobProxy?在我搜索的所有地方,它主要提供使用 Java 的示例,而我们的框架是在 C# 中,最重要的是我想使用 BrowserMobPROxy。这样我就可以捕获我的 Web 应用程序的网络流量以衡量性能

最佳答案

也一直在尝试解决这个问题,nuget 不适用于 .net 核心。但 api 仍然是一个 API,因此它也可以从 c# 代码访问。因此,您可以自己设置代理。我在 powershell 中启动了代理,但它也可以在 c# 代码中完成。

在 github 下载 BrowserMobProxy https://github.com/lightbody/browsermob-proxy

像这样启动 bat 文件,powershell 例如:.\browsermob -port 8080

做一些 api 调用。我使用了 restsharp:

创建代理实例

var client = new RestClient("http://localhost:8080/proxy");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "text/plain");
var body = @" {""port"":8081}";
request.AddParameter("text/plain", body, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

创建 Har 文件以开始保存信息:

var client = new RestClient("http://localhost:8080/proxy/8081/har");
client.Timeout = -1;
var request = new RestRequest(Method.PUT);
IRestResponse response = client.Execute(request);

使用以下代码设置 selenium 代理:

ChromeOptions options = new ChromeOptions();
Proxy proxy = new Proxy();
proxy.Kind = ProxyKind.Manual;
proxy.IsAutoDetect = false;
proxy.SslProxy = "http://localhost:8081";
options.Proxy = proxy;
options.AddArgument("ignore-certificate-errors");
IWebDriver driver = new ChromeDriver(options);

开始测试

driver.Navigate().GoToUrl("https://www.selenium.dev/");

获取har文件

var client = new RestClient("http://localhost:8080/proxy/8081/har");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);

关于c# - 在 C# 中配置 BrowserMobProxy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58948592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com