PDA

View Full Version : کمک در مورد ماژول پروکسی



1009645
پنج شنبه 19 اردیبهشت 1392, 10:51 صبح
سلام دوستان

یکی از دوستان من برای استفاده از پروکسی توی برنامم ماژول زیر رو بهم داد اما این یوزرنیم و پسورد رو ساپورت نمی کنه ! { پروکسی ای که من می خوام استفاده کنم نیاز به یوزرنیم و پسورد داره }

کسی در این ضمینه می تونه کمکم کنه ؟




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

Public Function SetConnectionOptions(ByVal conn_name As String, _
ByVal Proxy_full_addr As String) As Boolean
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)
list.dwSize = Len(list)
abConnName() = StrConv(conn_name & vbNullChar, vbFromUnicode)
list.pszConnection = VarPtr(abConnName(0))
list.dwOptionCount = 3
options(0).dwOption = INTERNET_PER_CONN_FLAGS
options(0).dwValue1 = Proxy_TYPE_DIRECT Or Proxy_TYPE_Proxy
options(1).dwOption = INTERNET_PER_CONN_Proxy_SERVER
abProxyServer() = StrConv(Proxy_full_addr & vbNullChar, vbFromUnicode)
options(1).dwValue1 = VarPtr(abProxyServer(0)) '//"http://Proxy:80"
options(2).dwOption = INTERNET_PER_CONN_Proxy_BYPASS
abProxyBypass() = StrConv("local" & vbNullChar, vbFromUnicode)
options(2).dwValue1 = VarPtr(abProxyBypass(0))
list.pOptions = VarPtr(options(0))
If (0& = list.pOptions) Then
Debug.Print "Failed to allocate memory in SetConnectionOptions()"
SetConnectionOptions = 0
End If
bReturn = InternetSetOption(0, INTERNET_OPTION_PER_CONNECTION_OPTION, list, dwBufSize)
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
Public Function DisableConnectionProxy(ByVal conn_name As String) As Boolean
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

setroyd
پنج شنبه 19 اردیبهشت 1392, 14:10 عصر
چه یوزر پسوردی در چه مورد ؟

1009645
پنج شنبه 19 اردیبهشت 1392, 14:17 عصر
منظورتون رو متوجه نمیشم ؟! به عنوان مثال همین ساکس پروکسی هایی که در برنامه ی ProxyFier برای عبور از فیلتر استفاده میشه .

1009645
جمعه 20 اردیبهشت 1392, 09:59 صبح
کسی نمی تونه کمک کنه دوستان ؟

setroyd
جمعه 20 اردیبهشت 1392, 16:45 عصر
اقا کدت کلا مشکل داره ! اگه بگی در چه مورد میخوای شاید از اول بشه برات نوشت .

1009645
جمعه 20 اردیبهشت 1392, 18:49 عصر
اقا کدت کلا مشکل داره ! اگه بگی در چه مورد میخوای شاید از اول بشه برات نوشت .

مرسی که پاسخ دادید ؛ من می خوام Browser ای که داخل برنامه قرار دادم از پروکسی استفاده کنه و IP داخل برنامه عوض بشه

ra0661
یک شنبه 22 اردیبهشت 1392, 23:16 عصر
نگاه کن ای امر ممکن است اما باید یکم تغییرات جزعی رو رعایت کنی که اگه لیست ip ها رو از تکس یا لیست بگیری بهتره و سر در گمی نداره بعد از کلاس هااستفاده کن

مورد دیدیم میزارم برای نمونه

1009645
دوشنبه 23 اردیبهشت 1392, 08:37 صبح
نگاه کن ای امر ممکن است اما باید یکم تغییرات جزعی رو رعایت کنی که اگه لیست ip ها رو از تکس یا لیست بگیری بهتره و سر در گمی نداره بعد از کلاس هااستفاده کن

مورد دیدیم میزارم برای نمونه

ممنون ، منتظرم پس