ACESSAR UMA PAGINA WEB COM PROXY
Galera é o seguinte:
Já procurei na internet, no google e aqui também mais não consegui achar.
Como eu faço um código para que meu programa acesse a mesma página (o Twitter por exemplo) com proxys diferentes?
O mais perto que eu cheguei foi isto:
[txt-color=#0000f0]Dim[/txt-color] ObjetoProxy [txt-color=#0000f0]As New WebProxy[/txt-color]([txt-color=#e80000][Ô]192.168.2.4[Ô][/txt-color], 80)
mas não funcionou.
Obs. Apesar do meu programa acessar a internet, o código foi feito em VB.NET e não em ASP.NET
Já procurei na internet, no google e aqui também mais não consegui achar.
Como eu faço um código para que meu programa acesse a mesma página (o Twitter por exemplo) com proxys diferentes?
O mais perto que eu cheguei foi isto:
[txt-color=#0000f0]Dim[/txt-color] ObjetoProxy [txt-color=#0000f0]As New WebProxy[/txt-color]([txt-color=#e80000][Ô]192.168.2.4[Ô][/txt-color], 80)
mas não funcionou.
Obs. Apesar do meu programa acessar a internet, o código foi feito em VB.NET e não em ASP.NET
Pessoal eu consegui achar um código pro meu problema.
Vou postar pra quem precisar.
é só criar um formulário (Form1), colocar um WebBrowser (WebBrowser1), duas TextBox (TextBox1 e TextBox2) e um botão(Button1) e copiar e colar este código abaixo no code do formulário.
No TextBox1 você coloca um proxy válido, por exemplo: 41.234.203.14
No TextBox2 você coloca a porta, por exemplo: 80
------------------------------------- código -----------------------------------------------------------
Imports System.Runtime.InteropServices
Public Class Form1
#Region [Ô]Using Proxy[Ô]
<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 UseProxy(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
struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY
struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy)
struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi([Ô]local[Ô])
Dim intptrStruct As IntPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI))
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
#End Region
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
UseProxy(TextBox1.Text & [Ô]:[Ô] & TextBox2.Text)
WebBrowser1.Refresh()
WebBrowser1.Navigate([Ô]http://meuip.datahouse.com.br/[Ô])
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
WebBrowser1.Navigate([Ô]http://meuip.datahouse.com.br/[Ô]) [ô]Eu utilizei esta página mas você pode colocar a página que você quiser
End Sub
End Class
----------------------------------------- Fim ---------------------------------------------------------------
Vou postar pra quem precisar.
é só criar um formulário (Form1), colocar um WebBrowser (WebBrowser1), duas TextBox (TextBox1 e TextBox2) e um botão(Button1) e copiar e colar este código abaixo no code do formulário.
No TextBox1 você coloca um proxy válido, por exemplo: 41.234.203.14
No TextBox2 você coloca a porta, por exemplo: 80
------------------------------------- código -----------------------------------------------------------
Imports System.Runtime.InteropServices
Public Class Form1
#Region [Ô]Using Proxy[Ô]
<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 UseProxy(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
struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY
struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy)
struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi([Ô]local[Ô])
Dim intptrStruct As IntPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI))
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
#End Region
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
UseProxy(TextBox1.Text & [Ô]:[Ô] & TextBox2.Text)
WebBrowser1.Refresh()
WebBrowser1.Navigate([Ô]http://meuip.datahouse.com.br/[Ô])
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
WebBrowser1.Navigate([Ô]http://meuip.datahouse.com.br/[Ô]) [ô]Eu utilizei esta página mas você pode colocar a página que você quiser
End Sub
End Class
----------------------------------------- Fim ---------------------------------------------------------------
Tópico encerrado , respostas não são mais permitidas