Buduję klienta usług sieciowych REST w PHP, a obecnie używam curl do wysyłania żądań do usługi.
Jak używać curl do wykonywania uwierzytelnionych żądań (http basic)? Czy sam muszę dodawać nagłówki?
php
rest
curl
basic-authentication
pusty
źródło
źródło
CURLOPT_USERPWD
w zasadzie wysyła base64user:password
ciągu z nagłówkiem http jak poniżej:Oprócz tego
CURLOPT_USERPWD
możesz także użyćHTTP-Request
opcji nagłówka, podobnie jak poniżej z innymi nagłówkami:źródło
CURLOPT_USERPWD
działała dla mnie.Najprostszym i natywnym sposobem jest bezpośrednie użycie CURL.
To działa dla mnie:
źródło
W przeciwieństwie do SOAP REST nie jest standardowym protokołem, więc posiadanie „klienta REST” jest nieco trudne. Ponieważ jednak większość usług RESTful używa protokołu HTTP jako podstawowego protokołu, powinna istnieć możliwość korzystania z dowolnej biblioteki HTTP. Oprócz cURL PHP ma te za pośrednictwem PEAR:
HTTP_Request2
który zastąpił
HTTP_Request
Próbka tego, jak wykonują uwierzytelnianie podstawowe HTTP
Obsługuje również Digest Auth
źródło
Jeśli typem autoryzacji jest uwierzytelnianie podstawowe, a przesyłane dane to json, zrób tak
źródło
Yahoo ma samouczek na temat wykonywania połączeń do swoich usług REST za pomocą PHP:
Zrób Yahoo! Połączenia REST usługi internetowej z PHP
Sam go nie używałem, ale Yahoo to Yahoo i powinienem zagwarantować przynajmniej pewien poziom jakości. Wydaje się jednak, że nie obejmują one żądań PUT i DELETE.
Ponadto uwagi dodane przez użytkownika do curl_exec () i innych zawierają wiele dobrych informacji.
źródło
Musisz tylko podać opcje CURLOPT_HTTPAUTH i CURLOPT_USERPWD:
Lub określ nagłówek:
Przykład kagana:
Zobacz https://github.com/andriichuk/php-curl-cookbook#basic-auth
źródło
Bardzo aktywnie utrzymywana Kaganiec Michaela Dowlinga jest dobrą drogą. Oprócz eleganckiego interfejsu, połączeń asynchronicznych i zgodności z PSR, nagłówki uwierzytelniania dla połączeń REST są bardzo proste:
Zobacz dokumenty .
źródło
Dla tych, którzy nie chcą używać curl:
źródło
Istnieje wiele ram REST. Zdecydowanie polecam zajrzenie do Slim mini Framework dla PHP
Oto lista innych.
źródło