2017-07-28 5 views
0

Ich muss eine Post-Anfrage mit Authentifizierung senden.PHP CURL Authentifizierung Fehlercode 302

Ich versuche, diesen Code, aber ich bekomme Fehler 302.

$url = "https://wifinext.internavigare.com/prepagataAnagrafica/creaUtente/"; 
$username = 'myuser'; 
$password = 'mypassword'; 
// create a new cURL resource 
$ch= curl_init($url); 

// do a POST request, using application/x-www-form-urlencoded type 
curl_setopt($ch, CURLOPT_POST, TRUE); 
// credentials 
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); 
// returns the response instead of displaying it 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 

//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 

//Set Post Fields 
curl_setopt($ch, CURLOPT_POSTFIELDS, "Prepagata_codice=Test&Prepagata_password=123456"); 

// do request, the response text is available in $response 
$response = curl_exec($ch); 
// status code, for example, 200 
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 

//show response 
echo $statusCode; 
echo $response; 

// close cURL resource, and free up system resources 
curl_close($ch); 

ich einige Antwort siehe sagen CURLOPT_FOLLOWLOCATION oder Cookies zu verwenden, und ich versuche es, aber ich kann nicht herausfinden, wie zu tun ist. Ich ziehe gerade meine Haare aus. Bitte einige Hilfe wird wirklich geschätzt.

Antwort

0

Statuscode 302 bedeutet, dass die URL zu einer anderen URL umleitet. Setzen Sie die Curl-Option CURLOPT_FOLLOWLOCATION auf true, um dieser Umleitung zu folgen.

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
+0

Theinks für Ihre Antwort Ich versuche es, aber dann wird die Anmeldeseite angezeigt. Ich habe keine Ahnung, was ich danach machen muss. – user2272143

+0

Das hängt davon ab, was Sie machen. Ich weiß nicht, was die Funktionalität Ihrer Anwendung ist. Wenn Sie andere Fragen haben, markieren Sie diese Frage als gelöst und erstellen Sie eine neue Frage. – Jerodev

+0

Wie Sie an dem von mir geposteten Code sehen können, muss ich diese Postfelder an die Seite senden curl_setopt ($ ch, CURLOPT_POSTFIELDS, "Prepagata_codice = Test & Prepagata_password = 123456"); Aber wenn ich CURLOPT_FOLLOWLOCATION naht, dass es nur auf die Anmeldeseite bringt, anstatt mich zu authentifizieren – user2272143

0

Bitte versuchen Sie, die POST-Daten als Array zu übergeben.

$postData = array('Prepagata_codice' => 'Test', 'Prepagata_password' => '1234'); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); 
Verwandte Themen