I need a specialized http client to perform the following tasks. Your program will be run from a Linux command line, and is *not* a web page or script. i.e., This program will not run on an http server. There is no standard input nor standard output; all data is passed by http. The remote site manages sessions through cookies, and so you *must* know how to maintain cookies as an http client.
If all of that is gibberish to you, please don't bid.
## Deliverables
There is a strong probability that this program will be run multiple times simultaneously! The first step is to create a lock file, and if the file creation fails, (because another instance of the program is running), then email the admin that this occurred, and stop the program.
Once you are guaranteed to have the lock, read the file containing the last transaction number processed. Log into the remote site with a username and password, and capture the cookies that are set upon successful login. All web pages in this session will require those cookies.
Fetch the recent transaction page, and parse the table on that page, which will have 40 rows and 9 columns. The third column will contain the transaction number (in decreasing order) and a textual key. Said key can have spaces and other interesting characters, so do not make any assumptions.
Loop through the rows, stopping when you reach the last transaction number processed (from the file above). Do not process the last transaction a second time. The minimum case is when you find this last transaction in the first row, i.e., there are no new transactions, and thus, the loop will have 0 iterations. The maximum case is when the last transaction number is never found, and thus, the loop will have 40 iterations. (Yes, this implies that older transactions will be lost beyond that point.)
For each loop iteration, submit a web form with the textual key, and two fields which are each populated from a separate text file.
Wait ten seconds at the end of each loop iteration.
When the loop is complete, store the (new) last transaction number (which is actually in the first row) to the file.
Email the admin with the list of transaction numbers and keys processed.
Release the lock.
* * *I'm pretty flexible and easy to work with. I tried to make sure that this job is as completely specified as humanly possible.
If you have **any** questions, *please* ask them! I have found that it is far better to risk a bit of embarrassment than to spend time working on an assumption which later proves to be wrong. Do not worry that a question may seem silly; just *let me know* and I will be very happy to answer you!
We've been a Buyer here since July '05, with a rating of 9.91 ("Excellent") out of 10, with 70 ratings, and we've now paid on 89 jobs. We've completed both security verifications, we have a 0% ("very good") non-action ratio, and we've lost 0 out of 8 mediations / arbitrations.
| ![][1] | PGP is **not** required for this project. |
| ![][2] | An NDA is **not** required for this project. |
We will retain full legal rights to the code and/or data upon completion. All code and/or data is and becomes *our* intellectual property! You will *not* have any rights to the code and/or data in any fashion.
**Thank you for your consideration and for bidding through RentACoder!**
* * *Copyright ? 2006, RentACoder Buyer
[notecom][3]. **All Rights Reserved.** Reproduction without permission is strictly prohibited.
* * *
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Linux command line. Program may be written in Perl or PHP.