ASIHTTPRequest is an easy to use wrapper around the CFNetwork API that makes some of the more tedious aspects of communicating with web servers easier. It is written in Objective-C and works in both Mac OS X and iPhone applications.
It is suitable performing basic HTTP requests and interacting with REST-based services (GET / POST / PUT / DELETE). The included ASIFormDataRequest subclass makes it easy to submit POST data and files using multipart/form-data.
* Download data to memory or directly to a file on disk
* Easy access to request and response HTTP headers
* Progress tracking for download AND upload progress
* Track progress accross upload / download queues
* Basic + Digest authentication support + Keychain
* Cookie support
* GZIP support
* Based on NSOperation
* Unit tested