2012-03-15 15 views
5

Ho scritto una classe che rileva se cURL è disponibile, se esegue GET, POST, DELETE utilizzando cURL. Nella versione cURL uso curl_getinfo($curl, CURLINFO_HTTP_CODE); per ottenere il codice HTTP. Se cURL non è disponibile, usa fopen() per leggere il contenuto del file. Come ottengo il codice dell'header HTTP senza cURL?PHP ottiene il codice di risposta dell'header http senza cURL

+0

Utilizzare 'fsockopen()'. –

+0

Se si sta leggendo il flusso di risposta HTTP direttamente, è necessario analizzare le intestazioni e il codice di risposta. Non è un grosso problema dovresti riuscire a trovare codice di esempio con una ricerca rapida. –

+0

Ho pubblicato qualche codice di esempio in [questa risposta] (http://stackoverflow.com/a/7566440/367456). Una descrizione più generale di come è possibile eseguire HTTP con PHP senza le funzioni di arricciatura è delineato [in questa risposta] (http://stackoverflow.com/a/9705711/367456). – hakre

risposta

14

Uso get_headers:

<?php 
$url = "http://www.example.com/"; 

$headers = get_headers($url); 

$code = $headers[0]; 
?> 

Edit:get_headers richiede un ulteriore invito, e non è appropriato per questo scenario. Utilizzare $http_response_headers come suggested by hakre.

+1

Questo eseguirà una richiesta per conto proprio. – hakre

+0

Ah, avresti ragione. La mia risposta probabilmente non è l'opzione migliore in questo caso. –

+2

Beh tecnicamente non è sbagliato, perché il TS non ha pubblicato molto codice, quindi in realtà non è chiaro cosa esattamente voleva sapere;) – hakre

Problemi correlati