All Projects → WordPress → Requests

WordPress / Requests

Licence: other
Requests for PHP is a humble HTTP request library. It simplifies how you interact with other sites and takes away all your worries.

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to Requests

Php Curl Class
PHP Curl Class makes it easy to send HTTP requests and integrate with web APIs
Stars: ✭ 2,903 (-15.44%)
Mutual labels:  http-client, curl, php-curl
php-curl-cookbook
PHP CURL Cookbook 📖
Stars: ✭ 83 (-97.58%)
Mutual labels:  curl, http-client
Fetch
Asynchronous HTTP client with promises.
Stars: ✭ 29 (-99.16%)
Mutual labels:  curl, http-client
curly.hpp
Simple cURL C++17 wrapper
Stars: ✭ 48 (-98.6%)
Mutual labels:  curl, http-client
Libhv
🔥 比libevent、libuv更易用的国产网络库。A c/c++ network library for developing TCP/UDP/SSL/HTTP/WebSocket client/server.
Stars: ✭ 3,355 (-2.27%)
Mutual labels:  http-client, curl
Ob Http
make http request within org-mode babel
Stars: ✭ 191 (-94.44%)
Mutual labels:  http-client, curl
Insomnia
The open-source, cross-platform API client for GraphQL, REST, and gRPC.
Stars: ✭ 18,969 (+452.55%)
Mutual labels:  http-client, curl
Katipo
HTTP2 client for Erlang based on libcurl and libevent
Stars: ✭ 90 (-97.38%)
Mutual labels:  http-client, curl
go-axios
HTTP Request package for golang.
Stars: ✭ 29 (-99.16%)
Mutual labels:  curl, http-client
diciotto
✈️ A no-nonsense PHP Http client focused on DX (PSR 18 compliant)
Stars: ✭ 23 (-99.33%)
Mutual labels:  curl, http-client
request-extra
⚡️ Extremely stable HTTP request module built on top of libcurl with retries, timeouts and callback API
Stars: ✭ 14 (-99.59%)
Mutual labels:  curl, http-client
Curlsharp
CurlSharp - .Net binding and object-oriented wrapper for libcurl.
Stars: ✭ 153 (-95.54%)
Mutual labels:  http-client, curl
Httpp
Micro http server and client written in C++
Stars: ✭ 144 (-95.81%)
Mutual labels:  http-client, curl
Httpie
As easy as /aitch-tee-tee-pie/ 🥧 Modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. https://twitter.com/httpie
Stars: ✭ 53,052 (+1445.35%)
Mutual labels:  http-client, curl
H2c
headers 2 curl. Provided a set of HTTP request headers, output the curl command line for generating that set. Try the converter online at
Stars: ✭ 113 (-96.71%)
Mutual labels:  http-client, curl
1c http
Подсистема 1С для работы с HTTP
Stars: ✭ 48 (-98.6%)
Mutual labels:  curl, http-client
Lush Http
Smart Http Client for PHP
Stars: ✭ 60 (-98.25%)
Mutual labels:  http-client, curl
Http Client
A high-performance, high-stability, cross-platform HTTP client.
Stars: ✭ 86 (-97.49%)
Mutual labels:  http-client, curl
SimplecURL
Easy to use HTTP Client for PHP
Stars: ✭ 14 (-99.59%)
Mutual labels:  curl, http-client
Requester
Powerful, modern HTTP/REST client built on top of the Requests library
Stars: ✭ 273 (-92.05%)
Mutual labels:  http-client, curl

Requests for PHP

CS Lint Test codecov.io

Requests is a HTTP library written in PHP, for human beings. It is roughly based on the API from the excellent Requests Python library. Requests is ISC Licensed (similar to the new BSD license) and has no dependencies, except for PHP 5.6+.

Despite PHP's use as a language for the web, its tools for sending HTTP requests are severely lacking. cURL has an interesting API, to say the least, and you can't always rely on it being available. Sockets provide only low level access, and require you to build most of the HTTP response parsing yourself.

We all have better things to do. That's why Requests was born.

$headers = array('Accept' => 'application/json');
$options = array('auth' => array('user', 'pass'));
$request = WpOrg\Requests\Requests::get('https://api.github.com/gists', $headers, $options);

var_dump($request->status_code);
// int(200)

var_dump($request->headers['content-type']);
// string(31) "application/json; charset=utf-8"

var_dump($request->body);
// string(26891) "[...]"

Requests allows you to send HEAD, GET, POST, PUT, DELETE, and PATCH HTTP requests. You can add headers, form data, multipart files, and parameters with basic arrays, and access the response data in the same way. Requests uses cURL and fsockopen, depending on what your system has available, but abstracts all the nasty stuff out of your way, providing a consistent API.

Features

  • International Domains and URLs
  • Browser-style SSL Verification
  • Basic/Digest Authentication
  • Automatic Decompression
  • Connection Timeouts

Installation

Install with Composer

If you're using Composer to manage dependencies, you can add Requests with it.

composer require rmccue/requests

or

{
    "require": {
        "rmccue/requests": "^2.0"
    }
}

Install source from GitHub

To install the source code:

$ git clone git://github.com/WordPress/Requests.git

Next, include the autoloader in your scripts:

require_once '/path/to/Requests/src/Autoload.php';

You'll probably also want to register the autoloader:

WpOrg\Requests\Autoload::register();

Install source from zip/tarball

Alternatively, you can fetch a tarball or zipball:

$ curl -L https://github.com/WordPress/Requests/tarball/stable | tar xzv
(or)
$ wget https://github.com/WordPress/Requests/tarball/stable -O - | tar xzv

Using a Class Loader

If you're using a class loader (e.g., Symfony Class Loader) for PSR-4-style class loading:

$loader = new Psr4ClassLoader();
$loader->addPrefix('WpOrg\\Requests\\', 'path/to/vendor/Requests/src');
$loader->register();

Documentation

The best place to start is our prose-based documentation, which will guide you through using Requests.

After that, take a look at the documentation for \WpOrg\Requests\Requests::request(), where all the parameters are fully documented.

Requests is 100% documented with PHPDoc. If you find any problems with it, create a new issue!

Testing

Requests strives to have 100% code-coverage of the library with an extensive set of tests. We're not quite there yet, but we're getting close.

To run the test suite, first check that you have the PHP JSON extension enabled. Then simply:

$ phpunit

If you'd like to run a single set of tests, specify just the name:

$ phpunit Transport/cURL

Contribute

  1. Check for open issues or open a new issue for a feature request or a bug.
  2. Fork the repository on Github to start making your changes to the develop branch (or branch off of it).
  3. Write one or more tests which show that the bug was fixed or that the feature works as expected.
  4. Send in a pull request.

If you have questions while working on your contribution and you use Slack, there is a #core-http-api channel available in the WordPress Slack in which contributions can be discussed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].