2012-05-01 10 views
5

Sto tentando di accedere a un sito Web remoto utilizzando CURL, ma non riesco a farlo funzionare.Utilizzo di PHP CURL per accedere a un sito Web remoto

La pagina che sto cercando di accedere a è: https://vp1-voiceportal.megapath.com/Login/

Finora, ho provato la seguente:

$username="username"; 
$password="password"; 
$url="https://vp1-voiceportal.megapath.com/Login/servlet/com.broadsoft.clients.oam.servlets.Login"; 
$cookie="cookie.txt"; 

$postdata = "EnteredUserID=".$username."&password=".$password."&domain=&UserID=&rememberPass="; 

$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); 
curl_setopt ($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 0); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); 
curl_setopt ($ch, CURLOPT_REFERER, $url); 

curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); 
curl_setopt ($ch, CURLOPT_POST, 1); 
$result = curl_exec ($ch); 

echo $result; 
curl_close($ch); 
+3

E quali sono i risultati? – bossylobster

+0

ottengo la seguente risposta, che mi reindirizza alla pagina di login: 302 Found

Trovato

Il documento è stato spostato here.


Apache Server at Port vp1-voiceportal.megapath.com 443
jeffo

+0

1. Come sei arrivato il file biscotto? Forse i cookie sono scaduti. 2. Qual è il risultato? Cosa ha fatto esattamente arricciare il ritorno? –

risposta

2

EDIT: L'URL specificato è sbagliato, dovrebbe essere:

https://vp1-voiceportal.megapath.com/servlet/com.broadsoft.clients.oam.servlets.Login 

E non:

https://vp1-voiceportal.megapath.com/Login/servlet/com.broadsoft.clients.oam.servlets.Login 

Sembra che è necessario seguire i reindirizzamenti e specificare il file dei cookie (per la lettura), provare:

$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); 
curl_setopt ($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); 
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie); 
curl_setopt ($ch, CURLOPT_REFERER, $url); 

curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); 
curl_setopt ($ch, CURLOPT_POST, 1); 
$result = curl_exec ($ch); 

echo $result; 

curl_close($ch); 

E 'anche una buona pratica in modo di specificare un percorso assoluto (e scrivibile) al file cookie.

+0

Grazie, ho apportato le modifiche suggerite, ma continuo a ottenere lo stesso problema. – jeffo

+0

@jeffo: il file 'cookie.txt' è vuoto? Ed esiste? –

+0

@jeffo: Inoltre, mi sembra che l'URL sia sbagliato ... Non dovrebbe essere 'https: // vp1-voiceportal.megapath.com/servlet/com.broadsoft.clients.oam.servlets.Login' ? –

Problemi correlati