EventHttpConnection::makeRequest

(PECL event >= 1.4.0-beta)

EventHttpConnection::makeRequestEffectue une requête HTTP sur la connexion spécifiée

Description

public bool EventHttpConnection::makeRequest ( EventHttpRequest $req , int $type , string $uri )

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()

  1. <?php
  2. function _request_handler($req, $base) {
  3. echo __FUNCTION__, PHP_EOL;
  4.  
  5. if (is_null($req)) {
  6. echo "Timed out\n";
  7. } else {
  8. $response_code = $req->getResponseCode();
  9.  
  10. if ($response_code == 0) {
  11. echo "Connexion refusée\n";
  12. } elseif ($response_code != 200) {
  13. echo "Réponse inatendue : $response_code\n";
  14. } else {
  15. echo "Succès : $response_code\n";
  16. $buf = $req->getInputBuffer();
  17. echo "Corps :\n";
  18. while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
  19. echo $s, PHP_EOL;
  20. }
  21. }
  22. }
  23. $base->exit(NULL);
  24. }
  25.  
  26. $address = "127.0.0.1";
  27. $port = 80;
  28.  
  29. $base = new EventBase();
  30. $conn = new EventHttpConnection($base, NULL, $address, $port);
  31. $conn->setTimeout(5);
  32. $req = new EventHttpRequest("_request_handler", $base);
  33.  
  34. $req->addHeader("Host", $address, EventHttpRequest::OUTPUT_HEADER);
  35. $req->addHeader("Content-Length", "0", EventHttpRequest::OUTPUT_HEADER);
  36. $conn->makeRequest($req, EventHttpRequest::CMD_GET, "/index.cphp");
  37.  
  38. $base->loop();
  39. ?>

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

LoadingChargement en cours