C# 在WebBrowser中欺骗URL
假设我得到了某个页面的源代码(例如)。现在,我想使用以下方法将此源代码写入WebBrowser:C# 在WebBrowser中欺骗URL,c#,html,url,browser,C#,Html,Url,Browser,假设我得到了某个页面的源代码(例如)。现在,我想使用以下方法将此源代码写入WebBrowser: myWebBrowser.Navigate("about:blank"); myWebBrowser.Document.Write(sourceCode); 现在,让我们假设在Example.com的主页上有一个相对URL,例如: <img src="/logo.gif" /> WebBrowser将尝试从关于:blank/logo.gif加载它。我想告诉网络浏览者“当前地址”是
myWebBrowser.Navigate("about:blank");
myWebBrowser.Document.Write(sourceCode);
现在,让我们假设在Example.com的主页上有一个相对URL,例如:
<img src="/logo.gif" />
WebBrowser将尝试从关于:blank/logo.gif
加载它。我想告诉网络浏览者“当前地址”是http://example.com
以便它使用http://example.com/logo.gif
直接写入WebBrowser的Url属性将导致一个Navigate(),它将删除我编写的任何文本
我正在寻找一种解决方案,它不仅适用于图像,还适用于其他元素,如样式表、javascript(例如
)、链接等
这可能吗?您可以尝试在头部插入
元素:
如何插入标记取决于您使用的语言,但您应将目标放在直接在
之后获取基本标记,以便生成的源代码读取:
<head><base href="http://example.com"/>
当然,如果文档中已经有
元素,您应该删除该元素。如果您尝试更改地址栏URL,浏览器将在其中导航,对此您无能为力
但是,在HTML中,可以通过使用“伪造”资源的源URL
我认为这是最接近您所能做到的。您可以在代码中插入一个元素,并声明基是