Я пытаюсь установить прокси управления 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, прежде чем пытаться установить разные прокси, но с тем же результатом.