+ Reply to Thread + Post New Thread
Results 1 to 3 of 3

Thread: Here Some vb6 code to set proxy with out have to restart the webbrowser

  1. #1
    Noobie
    Join Date
    Apr 2008
    Posts
    184
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Here Some vb6 code to set proxy with out have to restart the webbrowser

    Code:
    'Module
    
    Option Explicit
    
    *
    
    Private Type INTERNET_PER_CONN_OPTION
    
    ** *dwOption As Long
    
    ** *dwValue1 As Long
    
    ** *dwValue2 As Long
    
    End Type
    
    Private Type INTERNET_PER_CONN_OPTION_LIST
    
    ** *dwSize As Long
    
    ** *pszConnection As Long
    
    ** *dwOptionCount As Long
    
    ** *dwOptionError As Long
    
    ** *pOptions As Long
    
    End Type
    
    Private Const INTERNET_PER_CONN_FLAGS As Long = 1
    
    Private Const INTERNET_PER_CONN_PROXY_SERVER As Long = 2
    
    Private Const INTERNET_PER_CONN_PROXY_BYPASS As Long = 3
    
    Private Const PROXY_TYPE_DIRECT As Long = &H1
    
    Private Const PROXY_TYPE_PROXY As Long = &H2
    
    Private Const INTERNET_OPTION_REFRESH As Long = 37
    
    Private Const INTERNET_OPTION_SETTINGS_CHANGED As Long = 39
    
    Private Const INTERNET_OPTION_PER_CONNECTION_OPTION As Long = 75
    
    Private Declare Function InternetSetOption _
    
    ** * * *Lib "wininet.dll" Alias "InternetSetOptionA" ( _
    
    ** * * *ByVal hInternet As Long, ByVal dwOption As Long, _
    
    ** * * *lpBuffer As Any, ByVal dwBufferLength As Long) As Long
    
    *
    
    ' Set Proxy
    
    *
    
    Public Function SetConnectionOptions(ByVal conn_name As String, ByVal proxy_full_addr As String) As Boolean
    
    ' conn_name: active connection name. (LAN = "")
    
    ' proxy_full_addr : eg "193.28.73.241:8080"
    
    Dim list As INTERNET_PER_CONN_OPTION_LIST
    
    Dim bReturn As Boolean
    
    Dim dwBufSize As Long
    
    Dim options(0 To 2) As INTERNET_PER_CONN_OPTION
    
    Dim abConnName() As Byte
    
    Dim abProxyServer() As Byte
    
    Dim abProxyBypass() As Byte
    
    ** *
    
    ** *dwBufSize = Len(list)
    
    ** *
    
    ** *' Fill out list struct.
    
    ** *list.dwSize = Len(list)
    
    ** *
    
    ** *' NULL == LAN, otherwise connection name.
    
    ** *abConnName() = StrConv(conn_name & vbNullChar, vbFromUnicode)
    
    ** *list.pszConnection = VarPtr(abConnName(0))
    
    ** *
    
    ** *' Set three options.
    
    ** *list.dwOptionCount = 3
    
    *
    
    ** *' Set flags.
    
    ** *options(0).dwOption = INTERNET_PER_CONN_FLAGS
    
    ** *options(0).dwValue1 = PROXY_TYPE_DIRECT Or PROXY_TYPE_PROXY
    
    *
    
    ** *' Set proxy name.
    
    ** *options(1).dwOption = INTERNET_PER_CONN_PROXY_SERVER
    
    ** *abProxyServer() = StrConv(proxy_full_addr & vbNullChar, vbFromUnicode)
    
    ** *options(1).dwValue1 = VarPtr(abProxyServer(0)) *'//"http://proxy:80"
    
    *
    
    ** *' Set proxy override.
    
    ** *options(2).dwOption = INTERNET_PER_CONN_PROXY_BYPASS
    
    ** *abProxyBypass() = StrConv("local" & vbNullChar, vbFromUnicode)
    
    ** *options(2).dwValue1 = VarPtr(abProxyBypass(0))
    
    *
    
    ** *list.pOptions = VarPtr(options(0))
    
    ** *' Make sure the memory was allocated.
    
    ** *If (0& = list.pOptions) Then
    
    ** * * *' Return FALSE if the memory wasn't allocated.
    
    ** * * *Debug.Print "Failed to allocate memory in SetConnectionOptions()"
    
    ** * * *SetConnectionOptions = 0
    
    ** *End If
    
    *
    
    ** *' Set the options on the connection.
    
    ** *bReturn = InternetSetOption(0, INTERNET_OPTION_PER_CONNECTION_OPTION, list, dwBufSize)
    
    *
    
    ** *' Free the allocated memory.
    
    ** *Erase options
    
    ** *Erase abConnName
    
    ** *Erase abProxyServer
    
    ** *Erase abProxyBypass
    
    ** *dwBufSize = 0
    
    ** *list.dwOptionCount = 0
    
    ** *list.dwSize = 0
    
    ** *list.pOptions = 0
    
    ** *list.pszConnection = 0
    
    ** *Call InternetSetOption(0, INTERNET_OPTION_SETTINGS_CHANGED, ByVal 0&, 0)
    
    ** *Call InternetSetOption(0, INTERNET_OPTION_REFRESH, ByVal 0&, 0)
    
    ** *SetConnectionOptions = bReturn
    
    End Function
    
    *
    
    *
    
    ' Disable Proxy
    
    *
    
    Public Function DisableConnectionProxy(ByVal conn_name As String) As Boolean
    
    ' conn_name: active connection name. (LAN = "")
    
    Dim list As INTERNET_PER_CONN_OPTION_LIST
    
    Dim bReturn As Boolean
    
    Dim dwBufSize As Long
    
    Dim options(0) As INTERNET_PER_CONN_OPTION
    
    Dim abConnName() As Byte
    
    ** *
    
    ** *dwBufSize = Len(list)
    
    ** *
    
    ** *' Fill out list struct.
    
    ** *list.dwSize = Len(list)
    
    ** *
    
    ** *' NULL == LAN, otherwise connectoid name.
    
    ** *abConnName() = StrConv(conn_name & vbNullChar, vbFromUnicode)
    
    ** *list.pszConnection = VarPtr(abConnName(0))
    
    ** *
    
    ** *' Set three options.
    
    ** *list.dwOptionCount = 1
    
    *
    
    ** *' Set flags.
    
    ** *options(0).dwOption = INTERNET_PER_CONN_FLAGS
    
    ** *options(0).dwValue1 = PROXY_TYPE_DIRECT
    
    *
    
    ** *list.pOptions = VarPtr(options(0))
    
    ** *' Make sure the memory was allocated.
    
    ** *If (0 = list.pOptions) Then
    
    ** * * *' Return FALSE if the memory wasn't allocated.
    
    ** * * *Debug.Print "Failed to allocate memory in DisableConnectionProxy()"
    
    ** * * *DisableConnectionProxy = 0
    
    ** *End If
    
    *
    
    ** *' Set the options on the connection.
    
    ** *bReturn = InternetSetOption(0, INTERNET_OPTION_PER_CONNECTION_OPTION, list, dwBufSize)
    
    ** *
    
    ** *' Free the allocated memory.
    
    ** *Erase options
    
    ** *Erase abConnName
    
    ** *dwBufSize = 0
    
    ** *list.dwOptionCount = 0
    
    ** *list.dwSize = 0
    
    ** *list.pOptions = 0
    
    ** *list.pszConnection = 0
    
    ** *Call InternetSetOption(0, INTERNET_OPTION_SETTINGS_CHANGED, ByVal 0&, 0)
    
    ** *Call InternetSetOption(0, INTERNET_OPTION_REFRESH, ByVal 0&, 0)
    
    ** *DisableConnectionProxy = bReturn
    
    End Function 
    
    VB Code:
    
    
    
    
    'Form
    Option Explicit
    Private Sub cmdSetProxy_Click()
    Dim conn_name As String, proxy_full_addr As String
    conn_name = ""
    proxy_full_addr = "167.35.217.71:8080"
    Call SetConnectionOptions(conn_name, proxy_full_addr)
    End Sub
    Private Sub cmdDisableProxy_Click()
    Dim conn_name As String
    conn_name = ""
    Call DisableConnectionProxy(conn_name)
    End Sub

  2. Shorten URL    SEO Services    Buy Xrumer

    Sponsored Links

  3. #2
    Noobie
    Join Date
    Apr 2008
    Posts
    21
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    thanks may come in handy

  4. #3
    Noobie
    Join Date
    Apr 2008
    Posts
    49
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    Yes. However, what about if your proxy require username and address?

    Should you just put usernameassword@123.456.789.012:80 or stuff like that?

+ Reply to Thread

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts