EventHttpConnection::makeRequest
(PECL event >= 1.4.0-beta)
EventHttpConnection::makeRequest — Effectue une requête HTTP sur la connexion spécifiée
Description
Effectue une requête HTTP sur la connexion spécifiée.
Le paramètre type
sera une constante
EventHttpRequest::CMD_*.
Liste de paramètres
-
req
-
L'objet représentant la connexion sur laquelle la requête sera envoyée.
-
type
-
Une constante EventHttpRequest::CMD_*.
-
uri
-
L'URI associé à la requête.
Valeurs de retour
Retourne TRUE
en cas de succès, FALSE
sinon.
Exemples
Exemple #1 Exemple avec EventHttpConnection::makeRequest()
- <?php
- function _request_handler($req, $base) {
- echo __FUNCTION__, PHP_EOL;
- if (is_null($req)) {
- echo "Timed out\n";
- } else {
- $response_code = $req->getResponseCode();
- if ($response_code == 0) {
- echo "Connexion refusée\n";
- } elseif ($response_code != 200) {
- echo "Réponse inatendue : $response_code\n";
- } else {
- echo "Succès : $response_code\n";
- $buf = $req->getInputBuffer();
- echo "Corps :\n";
- while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
- echo $s, PHP_EOL;
- }
- }
- }
- $base->exit(NULL);
- }
- $address = "127.0.0.1";
- $port = 80;
- $base = new EventBase();
- $conn = new EventHttpConnection($base, NULL, $address, $port);
- $conn->setTimeout(5);
- $req = new EventHttpRequest("_request_handler", $base);
- $req->addHeader("Host", $address, EventHttpRequest::OUTPUT_HEADER);
- $req->addHeader("Content-Length", "0", EventHttpRequest::OUTPUT_HEADER);
- $conn->makeRequest($req, EventHttpRequest::CMD_GET, "/index.cphp");
- $base->loop();
- ?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
_request_handler Succès : 200 Corps : PHP, date: 2013-03-13T20:27:52+05:00
Voir aussi
- EventHttpRequest::addHeader() - Ajoute un en-tête HTTP aux en-têtes de la requête