Не удалось подключиться к порту xxxxx.com 8280: в соединении отказано"

Здесь я попытался получить запрос на завивание, и он работает на некоторых серверах и не работает на некоторых серверах, но работает на локальном хосте. когда я печатаю сообщение об ошибке, он говорит

"Не удалось подключиться к порту 8280 api.lankagate.gov.lk: в подключении отказано".

Вот моя функция:

function get_on_going_vehicle_number() {
$vehicle_category = 1;

    $xml_data = '<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://schemas.conversesolutions.com/xsd/dmticta/v1">

 <soapenv:Header/>
 <soapenv:Body>
 <v1:GetOnGoingVehicleNo>
 <v1:vehicleCategory>' . $vehicle_category . '</v1:vehicleCategory>
 </v1:GetOnGoingVehicleNo>
 </soapenv:Body>
</soapenv:Envelope>';
$URL = "http://api.lankagate.gov.lk:8280/GetOnGoingVehicleNoDMT/1.0";

    $ch = curl_init($URL);


    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: text/xml',
        'Authorization: Bearer 7655a410-d019-3f09-b214-08c40e737af0'
    ));

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_PORT,8280);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, "$xml_data");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);

    if (curl_error($ch)) {
    $error_msg = curl_error($ch);
    echo $error_msg;

     }

    return $output;
    curl_close($ch);

}

пытаемся телнетить:

working server: > telnet api.lankagate.gov.lk 8280 Trying 43.224.126.66...
Connected to api.lankagate.gov.lk.
Escape character is '^]'.
Connection closed by foreign host. Non working server: 
user@dwp-s01:~$ telnet api.lankagate.gov.lk 8280 

Не рабочий сервер:

Trying 192.168.12.117... 
telnet: Unable to connect to remote host: Connection refused 
user@dwp-s01:~$ 

Он пытается использовать разные IP-адреса: 192.168.12.117 Пожалуйста, дайте мне решение


person sampath    schedule 28.11.2018    source источник


Ответы (2)


Здесь может быть несколько проблем.

  1. На api.lankagate.gov.lk включен брандмауэр.
  2. Порт 8280 не свободен.

Я думаю, вы не можете отключить брандмауэр на api.lankagate.gov.lk. Итак, попробуйте другой порт.

person SidhuMooseWala    schedule 28.11.2018
comment
Но это работает для локального хоста и на некоторых других серверах. в чем проблема не работать ни на одном сервере? - person sampath; 28.11.2018
comment
api.lankagate.gov.lk:8280/GetOnGoingVehicleNoDMT/1.0 Это работает? с других серверов? - person SidhuMooseWala; 28.11.2018
comment
Да, я пробовал это с локального хоста и 2 других серверов, это работает. один с включенным SSL. - person sampath; 28.11.2018
comment
есть ли решение - person sampath; 28.11.2018

192.168.12.117 вроде локальная сеть.

Таким образом, вы могли указать этот IP-адрес в своем файле хоста и должны удалить его.

Пример:

c:\Windows\System32\Drivers\etc\hosts or /etc/hosts

192.168.12.117 api.lankagate.gov.lk

Или ваш сетевой маршрутизатор или прокси-сервер (192.168.12.117) блокирует вам подключение к этому.

person Bala    schedule 29.11.2018
comment
Я изменил файл хоста, как вы сказали, и все равно он говорит - person sampath; 29.11.2018
comment
Извини. я не просил вас так менять хост-файл. Если в хост-файле есть такая запись, удалите ее. и попробуйте ping api.lankagate.gov.lk получить IP-адрес - person Bala; 29.11.2018