正在尝试找到一种在EO.WebBrowser中设置引用的方法。我看到可以使用:webView1.CustomUserAgent更改用户代理,但看起来没有用于referer的方法。有没有其他的方法可以用javascript或者其他方式来实现呢?
我可以使用以下代码“捕获”beforesendheaders事件:webView1.BeforeSendHeaders += new EO.WebBrowser.RequestEventHandler(webView1_BeforeSendHeaders);,但帮助不大。
我在做一个项目,我从awesomium开始,但是...看起来有些网站没有加载,只是显示了一个空白屏幕。我已经设法改变了awesomium中的referer和user agent,但我真的需要这两者才能继续前进。
如有任何建议,欢迎光临。
发布于 2015-04-20 15:53:32
看起来我是用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,使用referer http://referer.com转到http://192.168.0.108/referer。
https://stackoverflow.com/questions/29741900
复制相似问题