A HTTP library written in PHP, for human beings.

(ipv6, curl, http, idna, iri, sockets, fsockopen)

Critical or Security advisories for v1.7.0

This version doesn't have any advisory. Want to report one?

Changelog for v1.7.0

  • Add support for HHVM and PHP 7

Requests is now tested against both HHVM and PHP 7, and they are supported as first-party platforms.

(props @rmccue, #106, #176)

  • Transfer & connect timeouts, in seconds & milliseconds

cURL is unable to handle timeouts under a second in DNS lookups, so we round those up to ensure 1-999ms isn't counted as an instant failure.

(props @ozh, @rmccue, #97, #216)

  • Rework cookie handling to be more thorough.

Cookies are now restricted to the same-origin by default, expiration is checked.

(props @catharsisjelly, @rmccue, #120, #124, #130, #132, #156)

  • Improve testing

Tests are now run locally to speed them up, as well as further general improvements to the quality of the testing suite. There are now also comprehensive proxy tests to ensure coverage there.

(props @rmccue, #75, #107, #170, #177, #181, #183, #185, #196, #202, #203)

  • Support custom HTTP methods

Previously, custom HTTP methods were only supported on sockets; they are now supported across all transports.

(props @ocean90, #227)

  • Add byte limit option

(props @rmccue, #172)

  • Support a RequestsProxyHTTP() instance for the proxy setting.

(props @ocean90, #223)

  • Add progress hook

(props @rmccue, #180)

  • Add a before_redirect hook to alter redirects

(props @rmccue, #205)

  • Pass cURL info to after_request

(props @rmccue, #206)

  • Remove explicit autoload in Composer installation instructions

(props @SlikNL, #86)

  • Restrict CURLOPTPROTOCOLS on defined() instead of `versioncompare()`

(props @ozh, #92)

  • Fix doc - typo in "Authentication"

(props @remik, #99)

  • Contextually check for a valid transport

(props @ozh, #101)

  • Follow relative redirects correctly

(props @ozh, #103)

  • Use cURL's version_number

(props @mishan, #104)

  • Removed duplicated option docs

(props @staabm, #112)

  • code styling fixed

(props @imsaintx, #113)

  • Fix IRI "normalization"

(props @ozh, #128)

  • Mention two PHP extension dependencies in the README.

(props @orlitzky, #136)

  • Ignore coverage report files

(props @ozh, #148)

  • drop obsolete "return" after throw

(props @staabm, #150)

  • Updated exception message to specify both http + https

(props @beutnagel, #162)

  • Sets stream_headers method to public to allow calling it from other places.

(props @adri, #158)

  • Remove duplicated streamgetmeta_data call

(props @rmccue, #179)

  • Transmits $errno from streamsocketclient in exception

(props @laurentmartelli, #174)

  • Correct methods to use snake_case

(props @rmccue, #184)

  • Improve code quality

(props @rmccue, #186)

  • Update Build Status image

(props @rmccue, #187)

  • Fix/Rationalize transports (v2)

(props @rmccue, #188)

  • Surface cURL errors

(props @ifwe, #194)

  • Fix for memleak and curl_close() never being called

(props @kwuerl, #200)

  • addex how to install with composer

(props @royopa, #164)

  • Uppercase the method to ensure compatibility

(props @rmccue, #207)

  • Store default certificate path

(props @rmccue, #210)

  • Force closing keep-alive connections on old cURL

(props @rmccue, #211)

  • Docs: Updated HTTP links with HTTPS links where applicable

(props @ntwb, #215)

  • Remove the executable bit

(props @ocean90, #224)

  • Change more links to HTTPS

(props @rmccue, #217)

  • Bail from cURL when either curl_init() OR curl_exec() are unavailable

(props @dd32, #230)

  • Disable OpenSSL's internal peer_name checking when verifyname is disabled.

(props @dd32, #239)

  • Only include the port number in the Host header when it differs from default

(props @dd32, #238)

  • Respect port if specified for HTTPS connections

(props @dd32, #237)

  • Allow paths starting with a double-slash

(props @rmccue, #240)

  • Fixes bug in rfc2616 #3.6.1 implementation.

(props @stephenharris, #236, #3)

  • CURLOPT_HTTPHEADER???php7?????????????????????php-fpm??????

(props @qibinghua, #219)

Dependencies for v1.7.0

Name Requirement Status
This version doesn't have runtime dependencies.

My projects using rmccue/requests

Name Locked version Requirement
You should be logged in to see which of your projects use rmccue/requests.