|
web
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Seeking VB.Net Proxy examplesI have seen http://www.vbdotnetheaven.com/Code/Aug2003/2146.asp - but it
does not work. I need a working example....if anyone has seen one. Jim Sorry for my ignorance, but what does a proxy server do exactly? I am not
familiar with the term "Proxy". Thanks for any info or links that you can share. -- Show quoteHide quoteDennis in Houston "Jim" wrote: > I have seen http://www.vbdotnetheaven.com/Code/Aug2003/2146.asp - but it > does not work. > > I need a working example....if anyone has seen one. > > Jim > > > "Dennis" <Den***@discussions.microsoft.com> wrote in message A proxy server makes requests on behalf of another machine (PC). Proxy news:776EAAF7-F521-4C79-B832-657A8BB7F0F7@microsoft.com... > Sorry for my ignorance, but what does a proxy server do exactly? I am > not > familiar with the term "Proxy". Thanks for any info or links that you can > share. servers are mostly used for HTTP traffic, but can be used for any traffic that needs a "go-between" for 2 PCs (like the servers that relay IM conversations between PCs). When a proxy is used for HTTP traffic, you must point your browser to the proxy instead of to your cable modem, router or direct internet connection. The proxy becomes the target of your HTTP requests. The proxy then connects to the network (or internet) on your behalf, retrieves your requested page/resource and passes it along to you. Proxies can be used to filter out ads, pop-ups, viruses, adult content, objectionable websites, allow anonymous web surfing (see www.anonymizer.com for an example of this), etc.. They can also be used to track employee web usage (a big brother kind of thing that I, personally, oppose). For a better explanation, see http://en.wikipedia.org/wiki/Proxy_server . Hope this helps. Jim Jim, thanks a lot for taking the time to educate me on proxies. This was an
excellent description. -- Show quoteHide quoteDennis in Houston "Jim" wrote: > > "Dennis" <Den***@discussions.microsoft.com> wrote in message > news:776EAAF7-F521-4C79-B832-657A8BB7F0F7@microsoft.com... > > Sorry for my ignorance, but what does a proxy server do exactly? I am > > not > > familiar with the term "Proxy". Thanks for any info or links that you can > > share. > > A proxy server makes requests on behalf of another machine (PC). Proxy > servers are mostly used for HTTP traffic, but can be used for any traffic > that needs a "go-between" for 2 PCs (like the servers that relay IM > conversations between PCs). > > When a proxy is used for HTTP traffic, you must point your browser to the > proxy instead of to your cable modem, router or direct internet connection. > The proxy becomes the target of your HTTP requests. The proxy then connects > to the network (or internet) on your behalf, retrieves your requested > page/resource and passes it along to you. > > Proxies can be used to filter out ads, pop-ups, viruses, adult content, > objectionable websites, allow anonymous web surfing (see www.anonymizer.com > for an example of this), etc.. They can also be used to track employee web > usage (a big brother kind of thing that I, personally, oppose). > > For a better explanation, see http://en.wikipedia.org/wiki/Proxy_server . > > Hope this helps. > > Jim > > > I have found an example of VB.Net console proxy, and have fixed a couple of
errors. But, it does not seem to pass through pictures and throws an error that says "An existing connection was forcibly closed by the remote host". The goal is to be able to filter the content on the way to the browser. Any help you could give with this project would be appreciated. The VB.Net 2005 code is as follows...... Imports System ' Imports System.Net Imports System.Net.Sockets Imports System.Text Imports System.IO Imports System.Threading Namespace WebProxy2 Class WebProxy2 Private clientSocket As Socket Private read() As [Byte] = New Byte(1024) {} Private Buffer As [Byte]() = Nothing Private ASCII As Encoding = Encoding.ASCII Private HTTP_VERSION As String = "HTTP/1.0" Private CRLF As String = ControlChars.Cr + ControlChars.Lf Private RecvBytes(4096) As [Byte] Public Sub New(ByVal socket As Socket) Me.clientSocket = socket End Sub 'New Public Sub run() Dim clientmessage As [String] = " " Dim sURL As [String] = " " Dim bytes As Integer = readmessage(read, clientSocket, clientmessage) If bytes = 0 Then Return End If Dim index1 As Integer = clientmessage.IndexOf(" "c) Dim index2 As Integer = clientmessage.IndexOf(" "c, index1 + 1) If index1 = -1 Or index2 = -1 Then Throw New IOException() End If Console.WriteLine("Connecting to Site: {0}", clientmessage.Substring(index1 + 1, index2 - index1)) Console.WriteLine("Connection from {0}", clientSocket.RemoteEndPoint) Dim part1 As String = clientmessage.Substring(index1 + 1, index2 - index1) Dim index3 As Integer = part1.IndexOf("/"c, index1 + 8) Dim index4 As Integer = part1.IndexOf(" "c, index1 + 8) Dim index5 As Integer = index4 - index3 sURL = part1.Substring(index1 + 4, part1.Length - index5 - 8) Try Dim IPHost As IPHostEntry = Dns.Resolve(sURL) Console.WriteLine("Request resolved: ", IPHost.HostName) Dim aliases As String() = IPHost.Aliases Dim address As IPAddress() = IPHost.AddressList Console.WriteLine(address(0)) Dim sEndpoint As New IPEndPoint(address(0), 80) Dim IPsocket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) IPsocket.Connect(sEndpoint) If IPsocket.Connected Then Console.WriteLine("Socket connect OK") End If Dim [GET] As String = clientmessage Dim ByteGet As [Byte]() = ASCII.GetBytes([GET]) IPsocket.Send(ByteGet, ByteGet.Length, 0) Dim rBytes As Int32 = IPsocket.Receive(RecvBytes, RecvBytes.Length, 0) Console.WriteLine("Recieved {0}", +rBytes) 'Buffer = RecvBytes; Dim strRetPage As [String] = Nothing strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, rBytes) While rBytes > 0 rBytes = IPsocket.Receive(RecvBytes, RecvBytes.Length, 0) strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, rBytes) End While IPsocket.Shutdown(SocketShutdown.Both) IPsocket.Close() sendmessage(clientSocket, strRetPage) Catch exc2 As Exception Console.WriteLine(exc2.ToString()) End Try End Sub 'run Private Function readmessage(ByVal ByteArray() As Byte, ByRef s As Socket, ByRef clientmessage As [String]) As Integer Dim bytes As Integer = s.Receive(ByteArray, 1024, 0) Dim messagefromclient As String = Encoding.ASCII.GetString(ByteArray) clientmessage = CType(messagefromclient, [String]) Return bytes End Function 'readmessage Private Sub sendmessage(ByVal s As Socket, ByVal message As String) Buffer = New [Byte](message.Length + 1) {} Dim length As Integer = ASCII.GetBytes(message, 0, message.Length, Buffer, 0) s.Send(Buffer, length, 0) End Sub 'sendmessage 'Entry point which delegates to C-style main Private Function Public Overloads Shared Sub Main() Main2(System.Environment.GetCommandLineArgs()) End Sub Overloads Shared Sub Main2(ByVal args() As String) Const port As Integer = 8889 'must set up local byte array for address type Dim myIP(3) As Byte myIP(0) = 127 myIP(1) = 0 myIP(2) = 0 myIP(3) = 1 Dim myLocalAddress As New System.Net.IPAddress(myIP) 'use byte array to open a listner Dim tcplistener1 As New TcpListener(myLocalAddress, port) 'TcpListener(port) Console.WriteLine("Listening on port {0}", +port) tcplistener1.Start() While True Dim socket As Socket = tcplistener1.AcceptSocket() Dim webproxy As New WebProxy2(socket) Dim thread As New Thread(New ThreadStart(AddressOf webproxy.run)) thread.Start() End While End Sub 'Main End Class 'WebProxy2 End Namespace 'WebProxy2
Time zones: Pretending to be somewhere else
beginner question about classes Excel Range will not put data into correct Cell Newbe question, What am I doing wrong Selecting combobox item at runtime from code No Beep with MSGBOX Possible? Help Needed in bindings, Convert Byte() to System.Drawing.Image? OT: Business Objects - what are they and can they contain objects like sockets? Cache problem |
|||||||||||||||||||||||