HTTP_Request
pear.php.net
Provides an easy way to perform HTTP requests
Supports GET/POST/HEAD/TRACE/PUT/DELETE, Basic authentication, Proxy, Proxy Authentication, SSL, file uploads etc.
Richard Heyes
richard
richard@php.net no
Alexey Borzov
avb
avb@php.net yes
2008-11-17
16:53:59
1.4.4
1.4.0
stable
stable
BSD
Development of HTTP_Request package is halted, only bug fixing will be done. Please submit feature requests for HTTP_Request2 package.

Fixes: * Improved memory usage of _buildRequest() method (bug #14574) * Clarified documentation for addFile() method to mention that it is useful only for POST method file uploads (bug #14635) * Do not send "Content-Length: 0" header for methods other than POST and PUT, as some servers may return error 400 (bug #14740)
4.2.0
1.4.3
Net_URL
pear.php.net
1.0.12
Net_Socket
pear.php.net
1.0.7
1.4.3
1.4.0
stable
stable
2008-07-21
BSD
* Added possibility to get reason phrase from HTTP response (request #12352) * PHP 4.2.0 should be the minimal PHP version (bug #12354), also updated other dependencies' versions to saner values * Send a Content-Length header in request even if body is empty (request #12900) * Do not pass length parameter to gzinflate(), it could cause problems in some corner cases (bugs #13135, #14370) * Return an error if trying to do a HTTPS request without OpenSSL support (bug #14127) * Do not stop reading chunked response body prematurely (bug #14200)
1.4.2
1.4.0
stable
stable
2007-10-26
BSD
* The final CRLF was not properly added to request headers on POST request with no post data (Thanks to Brock Weaver) * Added error codes (request #12335, thanks to Joe Stump for the patch) * HTTP_Request sent broken requests on redirects with no trailing slash (bug #12308, thanks to Joe Stump for the patch) * Requests with a body consisting of only a symbol '0' were sent without body (reported privately by Sam Ghods) * download-progress.php example was broken since 1.4.0 due to addition of 'connect' and 'disconnect' events. Now works again.
1.4.1
1.4.0
stable
stable
2007-05-18
BSD
* Removed bogus parameter for getURL() (Bug #9586, thanks to Martin Jansen) * Improved API documentation (Bug #9984, thanks to Martin Jansen) * Fixed wrong Content-Length if using mbstring function overloading (bug #10605) * Fixed bogus "data CRC check failed" error on 64-bit systems (bug #10790, thanks to Bill Moran) * Redone the way package handles mbstring function overloading, this will allow using gzip Content-Encoding when said overloading is switched on * Added proper header comment blocks, improved phpdoc comments
1.4.0
1.4.0
stable
stable
2006-10-25
BSD
* Added Keep-Alive support (request #4806), thanks to Justin Patrin for the initial patch. Please note that "Connection: close" header is still added by default, you need to explicitly add "Connection: Keep-Alive" header or remove "Connection" header if using HTTP 1.1 * A new disconnect() method was added which forces disconnection from the server if Keep-Alive is used. Also two new events are sent to the Listeners: "connect" and "disconnect" * Added getUrl() method (request #6589) * Added method to properly parse header of gzip-encoded data (see RFC 1952). This takes care of situations when the server adds some additional data to the header (bug #8245) or sends data that is not gzip-encoded when "Content-Encoding: gzip" header is present (bug #8213) * "Proxy-Authorization" header is now properly set by constructor (bug #5913) * Fixed doc comments mentioning addBody() method instead of proper setBody() (bug #5969) * Fixed erroneous removal of "Content-Type" header from request (bug #7922) * Bogus HTTP headers are now ignored (bug #8214) * Path is set to "/" if an URL without path (http://www.example.com) is given (bug #8662) * Moved to package.xml version 2.0
1.3.0
1.3.0
stable
stable
2005-11-06
BSD
* All request and response headers are now treated case-insensitively, per RFC 2616 (bug #1045, bug #4367). * Values of multiple response headers with the same name are combined into a comma-separated string per RFC 2616 (bug #1045) * Generate proper closing boundary for multipart/form-data requests, per RFC 1521 (bug #4397) * magic_quotes_runtime directive is switched off when performing the request since it may break file uploads and chunked responses (bug #4543) * Response::_readChunked() will finish on zero-length chunk rather than socket eof (patch from bug #3037) * Added HTTP_Request::setBody() method, deprecated addRawPostData() due to misleading name. The request body will be sent with all request methods except those that explicitly forbid this (e.g. TRACE). Data set via addPostData() / addFile() will only be sent with POST (see request #4716)
1.2.4
1.2.4
stable
stable
2004-12-30
BSD
* Notice was raised when processing a response containing secure cookies (bug #2741) * Warning was raised when processing a response with empty body and chunked Transfer-encoding (bug #2792) * Improved inline documentation on constructor parameters (bug #2751)
1.2.3
1.2.3
stable
stable
2004-10-01
BSD
* Auth information is properly extracted from URLs of the form http://user:pass@host/ (bug #1507) * Connection to server is closed after performing request (bug #1692) * Use correct argument separator for generated query stings (bug #1857, see also bug #704 for Net_URL) * Do not use gzip encoding if certain string functions are overloaded by mbstring extension (bug #1781) * addPostData() now properly handles multidimensional arrays (bug #2233)
1.2.2
1.2.2
stable
stable
2004-05-19
BSD
Bug fixes: * Fixed #1037 (unable to connect to port 80 through HTTPS). This relies on fix for Net_URL bug #1036, thus Net_URL 1.0.12 is now required. * Fixed #1333 (sending POST data on non-POST requests). * Fixed #1433 (overwriting the variable name when adding multiple files for upload).
1.2.1
1.2.1
stable
stable
2004-04-29
BSD
Additions and changes: * Applied patch from #851 (First parameter of constructor is now optional) * Implemented #526 (It is now possible to set timeout on socket, via parameter readTimeout) * Implemented #1141 (It is now possible to pass options to socket via parameter socketOptions, Net_Socket 1.0.2 is needed for this functionality)

Fixes: * Fixed #842 (Doc comments incorrectly described the possible return values) * Fixed #1152 (Incorrect handling of cookies with '=' in value) * Fixed #1158 (Cookie parameters are not necessarily lowercase) * Fixed #1080 (Cookies should not be urlencoded/urldecoded)
1.2
1.2
stable
stable
2003-10-27
BSD
Feature additions: * Support for multipart/form-data POST requests and file uploads (partly based on Christian Stocker's work) * Brackets [] after array variables are optional (on by default, controlled by useBrackets parameter) * HTTP_Request now implements a Subject-Observer design pattern. It is possible to add Listeners to the Request object to e.g. draw a progress bar when downloading a large file. This is partly based on Stefan Walk's work. A usage example for this is available.

Migration to 1.2: * Redirect support is now OFF by default * Redirect support is DEPRECATED * Methods clearCookies(), clearPostData(), reset() are DEPRECATED

Fixes: * Fixed PEAR bug #18 (Lowercased headers, fix by Dave Mertens) * Fixed PEAR bug #131 (Domain without trailing slash) * Fixed PHP bug #25486 (100 Continue handling) * Fixed PEAR bug #150 (Notices being generated) * Fixed problems with HTTP responses without bodies
1.1.1
1.1.1
stable
stable
2003-01-30
BSD
Added redirect support. Net_URL 1.0.7 is now required.
1.1.0
1.1.0
stable
stable
2003-01-20
BSD
Added SSL support as long as you have PHP 4.3.0+ and the OpenSSL extension. Net_URL 1.0.6 is now required.
1.0.2
1.0.2
stable
stable
2002-09-16
BSD
Added cookie support
1.0.1
1.0.1
stable
stable
2002-07-27
BSD
License change
1.0
1.0
stable
stable
2002-02-17
PHP License
Initial release of the HTTP_Request package.