2011-11-21 21 views
0

我有以下问题: 我需要发送WebBrowser控件所做的每个请求一些自定义信息。例如,其中一个信息是使用的应用程序版本。使用WebBrowser控件发送自定义信息

现在我已经阅读了这里,它是不可能为WebBrowser控件设置自定义标头。

我已经尝试拦截所有请求并使用WebClient(或HttpWebRequest)自行执行它们。它部分工作,但是非常麻烦,并且经常引发错误。

任何其他想法如何发送自定义信息与WebBrowser控件所做的每个请求?

+0

我认为拦截请求是你最好的选择。如果您发布用于执行此操作的代码,也许您可​​以通过一些帮助使其稳定。 – calum

回答

1

您正在与自己的Web服务器进行交互吗?你可以为你想要的所有数据添加一个查询字符串参数吗?像

http://yourwebsite/YourPage.aspx?version=2 

东西然后,你可以处理在服务器上,无论是在ASPX页面请求过程中,或通过日志文件的Web服务器。

0

我怀疑,因为您无法修改直接从WebBrowser发送的内容,并拦截每个呼叫并充当每个请求的代理,同时仍然保留所有浏览器功能,可能太麻烦。

相反,我建议发送一个额外的请求,并在每次提出请求时只记录您想要记录的附加信息。
这可能会导致大量的开销,所以它可能更容易发送一次,然后在第一个请求上传递它的一个散列值或一些其他的网页标识键(作为查询字符串参数),以便它可以协调2条信息。假设你在控制Web服务器,那么你可以让Web服务器将该Hash/Key设置为一个cookie,这样它就会随着来自控件的后续请求再次传递。

相关问题