Hallo,
ich würde gerne einen Webrequest über Socks 5 hinbekommen.
Die Socks 5 Klasse sieht bei mir momentan so aus:
Aufruf:
Leider bekomme ich da schon eine Fehlermeldung:
Additional information: Eine vorhandene Verbindung wurde vom Remotehost geschlossen
Zeile: in der Methode Connect()
Kann mir jemand sagen was da falsch ist?
*Topic verschoben*
ich würde gerne einen Webrequest über Socks 5 hinbekommen.
Die Socks 5 Klasse sieht bei mir momentan so aus:
VB.NET-Quellcode
- Public Class Socks5Proxy
- Public Sub New(EnHost As String, EnPort As Integer, EnTargetHost As String)
- ESocksHost = EnHost
- ESocksPort = EnPort
- ESocksTargetHost = EnTargetHost
- End Sub
- Private ESocksHost As String
- Private ESocksPort As Integer
- Private ESocksTargetHost As String
- Private EClient As Socket
- Private EConnection As NetworkStream
- Private ETimeout As Integer = 10000
- Public ReadOnly Property GetESocksHost() As String
- Get
- Return ESocksHost
- End Get
- End Property
- Public ReadOnly Property GetESocksPort() As Integer
- Get
- Return ESocksPort
- End Get
- End Property
- Public ReadOnly Property GetESocksClient() As Socket
- Get
- Return EClient
- End Get
- End Property
- Public ReadOnly Property GetEClientConnected() As Boolean
- Get
- Return EClient.Connected
- End Get
- End Property
- Public Property GetETimeout() As Integer
- Get
- Return ETimeout
- End Get
- Set(value As Integer)
- ETimeout = value
- End Set
- End Property
- Public Function Connect() As Integer
- 'Try
- Dim result As Integer
- EClient = SocketHelper.CreateSock(ETimeout)
- EClient.Connect(ESocksHost, ESocksPort)
- EConnection = New NetworkStream(EClient)
- Dim Wr As BinaryWriter = New BinaryWriter(EConnection)
- Wr.Write(5)
- Wr.Write(1)
- Wr.Write(0)
- Dim array As Byte() = {}
- EClient.Receive(array)
- If array(0) = 5 AndAlso array(1) = 0 Then
- Wr.Write(5)
- Wr.Write(1)
- Wr.Write(0)
- Wr.Write(3)
- Dim bytes As Byte() = Encoding.ASCII.GetBytes(ESocksTargetHost)
- Wr.Write(CByte(bytes.Length))
- Wr.Write(bytes, 0, bytes.Length)
- Wr.Write(0)
- Wr.Write(80)
- EConnection.Read(array, 0, 2)
- result = CInt(array(1))
- Return result
- End If
- 'Catch ex_FE As Exception
- ' result = -1
- ' Return result
- 'End Try
- result = -1
- Return result
- End Function
- Public Function GetResponse(encoding As Encoding) As String
- Return New StreamReader(EConnection, encoding).ReadToEnd().Substring(8)
- End Function
- Public Sub SendString(str As String)
- SendByteArray(Encoding.UTF8.GetBytes(str))
- End Sub
- Public Sub SendByteArray(data As Byte())
- EConnection.Write(data, 0, data.Length)
- End Sub
- End Class
Aufruf:
Leider bekomme ich da schon eine Fehlermeldung:
Additional information: Eine vorhandene Verbindung wurde vom Remotehost geschlossen
Zeile: in der Methode Connect()
Kann mir jemand sagen was da falsch ist?
*Topic verschoben*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()