2015-04-20 5 views
0

Попытка найти способ установки референта в EO.WebBrowser. Я видел, что User-Agent можно изменить с помощью: webView1.CustomUserAgent, но похоже, что для рефератора нет метода. Есть ли другие способы заставить это работать в javascript или другими способами?EO.WebBrowser set referer C#

Я могу «захватить» событие beforesendheaders, с этим: webView1.BeforeSendHeaders += new EO.WebBrowser.RequestEventHandler(webView1_BeforeSendHeaders);, но это не очень помогает.

Я работаю над проектом, и я начал с awesomium, но ... похоже, что некоторые веб-сайты не загружены, он просто показывает пустой экран. Мне удалось изменить как референт, так и пользовательский агент в awesomium, но мне действительно нужно обойтись.

Любые предложения приветствуются.

ответ

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.

 Смежные вопросы

  • Нет связанных вопросов^_^