This proxy program is a very simple console application to implement the HTTP proxy. It donot contain so much error tolerant code, so it is short. Run the proxy program, set your internet browser proxy server with correct ip and its port is 5060(default, defined in program as PROXYPORT), it should be work( I test it with IE4.0 and on Win98). Press 'q' will terminate the proxy program.
The program's structure is simple. For each request , it starts two threads, one is forward local data to remote server and the other is forward remote data to local machine.
Function UserToProxyThread(void *pParam) is to forward local data to remote server. It can be considered as server thread , when local request comes, it fork itself and read the coming data, then start another thread(ProxyToServer()) which connect to remote server. After remote server is connected, it read data from local machine and send it to remote machine. Meanwhile thread ProxyToServer , which can be considered as client, forward the remote server data to local machine.