0
동시에 다른 프록시 설정을 사용하여 (웹 브라우저 컨트롤을 사용하여) 여러 요청을 실행할 수있는 프로그램을 사용하여 서버에서 특정 테스트를 실행하려고합니다. 지금 사용하고있는 것은 하나의 웹 브라우저 컨트롤에 대해서만 작동합니다. 여러 개의 side-by-side 실행 방법에 대한 조언을 구하고 있습니다.다른 프록시를 사용하여 실행중인 여러 웹 브라우저 컨트롤
<Runtime.InteropServices.DllImport("wininet.dll", SetLastError:=True)> _
Private Shared Function InternetSetOption(ByVal hInternet As IntPtr, ByVal dwOption As Integer, ByVal lpBuffer As IntPtr, ByVal lpdwBufferLength As Integer) As Boolean
End Function
Public Structure Struct_INTERNET_PROXY_INFO
Public dwAccessType As Integer
Public proxy As IntPtr
Public proxyBypass As IntPtr
End Structure
Private Sub RefreshIESettings(ByVal strProxy As String)
Const INTERNET_OPTION_PROXY As Integer = 38
Const INTERNET_OPEN_TYPE_PROXY As Integer = 3
Dim struct_IPI As Struct_INTERNET_PROXY_INFO
' Filling in structure
struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY
struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy)
struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local")
' Allocating memory
Dim intptrStruct As IntPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI))
' Converting structure to IntPtr
Marshal.StructureToPtr(struct_IPI, intptrStruct, True)
Dim iReturn As Boolean = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, System.Runtime.InteropServices.Marshal.SizeOf(struct_IPI))
End Sub
Private Function loadpage()
sInputLine = srFileReader.ReadLine()
Debug.WriteLine("Starting Proxy " & sInputLine)
RefreshIESettings(sInputLine)
Timer1.Enabled = True
Timer1.Interval = My.Settings.timeout * 1000
'set label
Label3.Text = "Attempting: " & sInputLine
Label3.ForeColor = Color.Black
Label3.Visible = True
WebBrowser1.Navigate("http://www.MYSERVER.com")
Return True
End Function
loadpage()가 DocumentCompleted 이벤트의 타이머에서 반복되고 있습니다.
도와주세요. 제가 해결책을 찾았습니다.
InternetSetOption()에 IntPtr.Zero를 전달하면 컴퓨터 와이드 설정이 변경됩니다. Internet Explorer가 각 세션마다 해당 옵션을 변경하는 데 사용하는 HINTERNET 핸들을 얻어야합니다. 그건 가능하지 않습니다. 노출시키지 마십시오. –