试图找到一种在EO.WebBrowser中设置引用的方法。
我看到User-Agent可以使用:webView1.CustomUserAgent
进行更改,但看起来没有针对referer的方法。有没有其他方法可以通过javascript或其他方式使用它?
我可以“抓住”beforesendheaders事件,使用:webView1.BeforeSendHeaders += new EO.WebBrowser.RequestEventHandler(webView1_BeforeSendHeaders);
,但没有那么多帮助。
我正在开发一个项目,我开始使用awesomium,但是......看起来有些网站没有加载,只是显示一个空白屏幕。我已经设法在awesomium中更改了referer和user agent,但我真的需要两者继续前进。
任何建议都表示赞赏。
答案 0 :(得分:0)
看起来我自己发现了,使用javascript。 这是代码:
public partial class Form1 : Form
{
private const string JS_referer_function = "function navigateToUrl(url) {var f = document.createElement(\"FORM\"); f.action = url; var indexQM = url.indexOf(\"?\"); if (indexQM>=0) { var params = url.substring(indexQM+1).split(\"&\"); for (var i=0; i<params.length; i++) { var keyValuePair = params[i].split(\"=\"); var input = document.createElement(\"INPUT\"); input.type=\"hidden\"; input.name = keyValuePair[0]; input.value = keyValuePair[1]; f.appendChild(input); } } document.body.appendChild(f); f.submit(); }";
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
webView1.LoadUrlAndWait("http://referer.com");
webView1.EvalScript(JS_referer_function);
webView1.EvalScript("navigateToUrl(\"http://192.168.0.108/referer\");");
}
}
它基本上首先加载http://referer.com,并使用javascript,使用引用http://192.168.0.108/referer转到http://referer.com。