У меня есть следующий код, чтобы получить некоторую информацию от сервера DataSnap:PHP, чтобы получить пароль информацию, защищенную REST DataSnap
<?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);
?>
Что я получаю, когда я бегу это:
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:
Что я делаю неправильно?
--edit:
Я могу подключиться к адресу и с моим браузером и с Wget.
Я получаю 'не удалось подключиться к hostarray' –
Является ли порт 81 открытым на хосте? Похоже, что это колледж, и их политика безопасности обычно является довольно ограничительной по умолчанию. Также попробуйте установить номер порта с помощью 'curl_setopt ($ curl, CURLOPT_PORT, '81');' вместо переменной '$ service_url'. –
Я могу подключиться к нему из моего браузера, это PHP, который не может, и это не сработало. –