2016-04-25 3 views
1

Ich habe den folgenden Code einige Informationen von einem DataSnap-Server zu erhalten:PHP kennwortgeschützte REST DataSnap Informationen zu erhalten

<?php 
    $username = USERNAME 
    $password = PASSWORD 
    $service_url = 'http://200.206.17.34:81/datasnap/rest/TServerMethods1/blogin/'; 
    $curl = curl_init($service_url); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 
    curl_setopt($curl, CURLOPT_USERPWD, $username . ":" . $password); 
    $curl_response = curl_exec($curl); 
    echo $curl_response; 
    if ($curl_response === false) { 
     $info = curl_getinfo($curl); 
     curl_close($curl); 
     die('Error occured during curl exec. Additional info: ' . var_export($info)); 
    } 
    curl_close($curl); 
    $decoded = json_decode($curl_response); 
    if (isset($decoded->response->status) && $decoded->response->status == 'ERROR') { 
     die('Error occured: ' . $decoded->response->errormessage); 
    } 
    echo 'Response ok!'; 
    var_export($decoded->response); 
?> 

Was bekomme ich, wenn ich das laufen soll:

array ('url' => 'http://200.206.17.34:81/datasnap/rest/TServerMethods1/blogin/', 'content_type' => NULL, 'http_code' => 0, 'header_size' => 0, 'request_size' => 0, 'filetime' => -1, 'ssl_verify_result' => 0, 'redirect_count' => 0, 'total_time' => 0, 'namelookup_time' => 0.0002249999999999999938417316602823348148376680910587310791015625, 'connect_time' => 0, 'pretransfer_time' => 0, 'size_upload' => 0, 'size_download' => 0, 'speed_download' => 0, 'speed_upload' => 0, 'download_content_length' => -1, 'upload_content_length' => -1, 'starttransfer_time' => 0, 'redirect_time' => 0, 'redirect_url' => '', 'primary_ip' => '200.206.17.34', 'certinfo' => array (),)Error occured during curl exec. Additional info: 

Was mache ich falsch?

--edit:

ich an die Adresse verbinden kann sowohl mit meinem Browser und mit wget.

Antwort

0

die Daten von curl_info weist auf ein Problem mit dem Server verbinden, zB " 'content_type' => NULL, 'HTTP_CODE' => 0" usw.

Versuchen print curl_error($curl) vor dem Schließen der die $ curl Handler Einfügen in der ersten if Anweisung, um mehr Informationen zu erhalten.

+0

Ich bekomme 'konnte nicht mit Hostarray verbinden ' –

+0

Ist Port 81 auf dem Host geöffnet? Es scheint ein College zu sein und ihre Sicherheitsrichtlinien sind normalerweise ziemlich restriktiv. Versuchen Sie auch, die Portnummer mit 'curl_setopt ($ curl, CURLOPT_PORT, '81');' anstatt durch die Variable '$ service_url' zu setzen. –

+0

Ich kann mich von meinem Browser aus verbinden, es ist das PHP, das nicht kann, und das hat auch nicht funktioniert. –

Verwandte Themen