0

在这里,我尝试获取 curl 请求,它在某些服务器上有效,在某些服务器上无效,但在本地主机上有效。当我打印错误消息时,它说

“无法连接到 api.lankagate.gov.lk 端口 8280:连接被拒绝”。

这是我的功能:

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 请给我一个解决方案

4

2 回答 2

0

这里可能有多个问题。

  1. api.lankagate.gov.lk 启用了防火墙。
  2. 端口 8280 不是免费的。

我猜你不能禁用 api.lankagate.gov.lk 上的防火墙。所以,请尝试其他端口。

于 2018-11-28T06:39:02.293 回答
0

192.168.12.117似乎是本地网络。

所以,你可能已经在你的主机文件中指出了这个 ip 并且必须删除它

例子:

c:\Windows\System32\Drivers\etc\hosts或者/etc/hosts

192.168.12.117 api.lankagate.gov.lk

或者您的网络路由器或代理 (192.168.12.117) 阻止您连接。

于 2018-11-29T07:42:21.103 回答