gpt4 book ai didi

c# - WebBrowser 与 WebBrowserBase 类

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

在我引用非 .net 内置(替代方案)之前

我想了解

内置的.Net类可以提供使用:

WebBrowserWebBrowserBase

我想知道的是:这两者之间有什么区别?

如 msdn 在后面一篇中所述 - WebBrowserBase -

“此 API 支持 .NET Framework 基础结构,不适合直接在您的代码中使用

问题始于一个简单的任务:从网站检索文件(数据源 xml)。听起来很简单?所以你可以使用任何方法...,最好是最简单且资源高效的方法。

但是!

场景是:同一来源(只有一个可靠)最近通过使用 cookies 阻止了自动流量,因为我可以理解 WebClient 正在使用与您的主要浏览器(在我的情况下为 IE9)相同的资源。

...经过我的研究,使用网络浏览器“引擎”作为文件检索器...

会完美地完成这项工作。

您可以使用任何(不仅仅是 Microsoft IE)

关于我所做的其他测试,您可以访问:

http://seleniumhq.org/docs/03_webdriver.html

+

https://code.google.com/p/selenium/downloads/list

最佳答案

你的问题

scenario is, that same source (single one to be reliable) was blocking automatic traffic recently by using cookies`

好吧,如果这是你的问题(cookies),你为什么不试试这个网络客户端呢?

public class CookieWebClient : WebClient
{
private readonly CookieContainer _cookies = new CookieContainer();

protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
HttpWebRequest webRequest = request as HttpWebRequest;
if (webRequest != null)
{
webRequest.CookieContainer = _cookies;
}
return request;
}
}

WebBrowser 与 WebBrowserBase

至于WebBrowser和WebBrowserBase的区别,WebBrowser继承了WebBrowserBase来扩展它,使其成为一个功能齐全的网页浏览器。如果您想自定义超出支持范围的 WebBrowser,WebBrowserBase 会派上用场 - 您可以覆盖某些内容并使用 WebBrowserBase 来扩展功能等。一般来说,除非绝对必要,否则您应该坚持只使用普通的 WebBrowser 控件 - 并且仅当您正在呈现网页或想使用它来非法执行 javascript 时。

关于扩展 WebBrowser 的一般评论

我个人发现的对网络浏览器最有用的修改之一是公开下载标志,因此您可以控制网络浏览器是否下载图像等。如何执行此操作的一个很好的示例如下:https://stackoverflow.com/a/7738174/184746

关于c# - WebBrowser 与 WebBrowserBase 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13433369/

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