287 votes

Comment puis-je faire une demande à l’aide de l’authentification de base HTTP avec PHP curl ?

Je suis en train de construire un service web REST client en PHP et en ce moment je suis en utilisant curl pour faire des demandes de service.

Comment puis-je utiliser curl pour faire authentifié (http de base) les demandes? Dois-je ajouter les en-têtes de moi-même?

Si donc j'ai quelques autres questions -

  1. Est-il un RESTE de la bibliothèque pour php?

  2. ou est-il un wrapper pour que curl en fait un peu plus de repos de l'environnement?

  3. ou vais-je continuer à rouleau de mon propre?

Merci.

467voto

Mr-sk Points 5604

Vous le souhaitez :

Zend a un client reste et zend_http_client et je suis sûr que poire a une sorte de wrapper. Mais ses assez facile à faire sur votre propre.

Si l’ensemble de la requête pourrait ressembler à ceci :

158voto

Sabuj Hassan Points 14948

envoie essentiellement le base64 de la chaîne avec en-tête http comme ci-dessous :

Donc en dehors de la vous pouvez également utiliser le en-tête option ainsi comme ci-dessous avec d’autres en-têtes :

7voto

nategood Points 3753

Contrairement au SAVON, du RESTE, ce n'est pas un protocole normalisé, donc c'est un peu difficile d'avoir un "RESTE " Client". Toutefois, puisque la plupart des services RESTful HTTP que leur protocole sous-jacent, vous devriez être en mesure d'utiliser toute HTTP bibliothèque. En plus de cURL, PHP via la POIRE:

HTTP_Request2

qui a remplacé

HTTP_Request

Un exemple de la façon dont ils le font HTTP Basic Auth

// This will set credentials for basic auth
$request = new HTTP_Request2('http://user:password@www.example.com/secret/');

Le également en charge Digérer Auth

// This will set credentials for Digest auth
$request->setAuth('user', 'password', HTTP_Request2::AUTH_DIGEST);

4voto

Pekka 웃 Points 249607

Yahoo a un tutoriel sur faire des appels à leurs services REST en PHP:

Faire De Yahoo! Web Service d'Appels de REPOS avec PHP

Je n'ai pas utilisé moi-même, mais Yahoo Yahoo est et doit garantir au moins un certain niveau de qualité. Ils ne semblent pas couvrir les requêtes PUT et DELETE.

Aussi, l' Utilisateur a Contribué Notes curl_exec() et d'autres en contiennent beaucoup de bonnes informations.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X