C # WPF веб-браузер сбрасывает прокси - PullRequest
0 голосов
/ 04 сентября 2018

Я пытаюсь установить прокси управления WebBrowser. Когда я установил их в первый раз, это работает хорошо. Когда я пытаюсь сбросить их и переместиться, происходит сбой.

Вот код

[DllImport("wininet.dll", SetLastError = true)]
private static extern bool InternetSetOption(
    IntPtr dwL,
    int dw,
    IntPtr dwB,
    int dwBL);
private const int INTERNET_OPTION_END_BROWSER_SESSION = 42;
public struct SIPI
{
    public int dwAT;
    public IntPtr pro;
    public IntPtr prB;
}

private void UseProxy(string Proxy)
{
    const int PO = 38;
    const int POI = 3;

    SIPI ISI = default(SIPI);
    ISI.dwAT = POI;
    ISI.pro = Marshal.StringToHGlobalAnsi(Proxy);
    ISI.prB = Marshal.StringToHGlobalAnsi("local");

    IntPtr INS = Marshal.AllocCoTaskMem(Marshal.SizeOf(ISI));
    Marshal.StructureToPtr(ISI, INS, true);
    bool iR = InternetSetOption(IntPtr.Zero, PO, INS, Marshal.SizeOf(ISI));
}

Вот использование

UseProxy(ProxyList[r]);
web1.Navigate(urlToNavigate);
...
do some magic
...
UseProxy(ProxyList[r]);
web1.Navigate(urlToNavigate);
...stuck here

Я пытался использовать InternetSetOption для установки прокси на 0, прежде чем пытаться установить разные прокси, но с тем же результатом.

...