We need a web application written in VB 2008 that is operating approximately like a simple proxy server.
More specifically: this application will download a file from a site from another web server and in the same time it sends it to a user using a web browser (IE, FireFox, Opera etc..). It will also keep a copy of the file on the local disk of the server.
For example: let’s say we have a website called [login to view URL] and it has a page with an input text and a button ‘download’.
This runs on IIS7 and Win2008.
A user visits the [login to view URL] site and sees the page we have described above. He fills in the input text with a file link that he wants to download which file is on another server.
E.g. [login to view URL] and clicks ‘download’.
Our server [login to view URL] will act as followings:
1. It will get the link and connect to [login to view URL] and will start downloading.
2. As it downloads some KB, it will respond to the user to save the file.
3. In the same time it will save the file locally.
4. It will start a loop where it will get some data from the [login to view URL] and will send it to the user.
This is possible using HttpWebRequest and HttpWebResponse objects.
Important rules:
1. This application should be able to work multi instance because there can be multiple downloads from users.
2. It must send custom cookies to the server from where the files are downloaded.
3. The application will have to be able to download also from https server.
4. If the server from where the files are downloaded has higher speed from the user, there should be no problem and vice versa.
5. Before the application starts downloading a file, it will first check if the file exists locally (some other user previously has downloaded the file) and if it finds it locally, it will not download it again but send it from the local disk.
6. IMPORTANT: the file shouldn’t be downloaded first from the [login to view URL] and then start the procedure of sending the file to the user, but as it downloads some KB it should start responding. Because if a file is 2 GB, it is not possible that the user is waiting for 30 min and then start the downloading of this file to his local disk.
If you would like to undertake this project, you must be able to show us a demo on your own server and when we see that it is working, we will pay and you will send us the source code.