无法卷曲或SoapClient Directadmin Centos上的任何remote_server:8080端口

I am Trying To Connect a Soap Api by php

ini_set('soap.wsdl_cache_enabled',0);
    ini_set('soap.wsdl_cache_ttl',0);

    $opts = array(
        'ssl' => array('ciphers'=>'RC4-SHA', 'verify_peer'=>false, 'verify_peer_name'=>false)
    );
    $params = array ('encoding' => 'UTF-8', 'verifypeer' => false, 'verifyhost' => false, 'soap_version' => SOAP_1_1, 'trace' => 1, 'exceptions' => 1, "connection_timeout" => 5, 'stream_context' => stream_context_create($opts) );
    $url = "http://x.x.x.x:8080/ws-relay/MessageRelayService?wsdl";
    $client =new SoapClient($url,$params);
    $result = $client->sendMessageOneToMany(array(
        "username"  => 'xxxxx',
        "password"  => 'xxxxx',
        "originator"  => "50004132311446",
        "destination"  => $numbers,
        "content"  => $massage,

    ));

but it allways got an

SOAP-ERROR: Parsing WSDL: Couldn't load from 'x.x.x.x:8080/ws-relay/MessageRelayService?wsdl";' : failed to load external entity "x.x.x.x:8080/ws-relay/MessageRelayService?wsdl";")

error !

I also Tried to Curl This WSDL but I got

[root@myhost ~]# curl http://x.x.x.x:8080/ws-relay/MessageRelayService?wsdl

curl: (7) Failed to connect to x.x.x.x port 8080: Connection timed out

Error !

so i also tried to curl portquiz.net:8080/ for test and i got timeout again !

is there some rule in firewall that block me to send request to 8080 ports !

how can i unblock it in centos directadmin vps ?

often this happens because that your ip address has been blocked , or there are an issues with the server it self .

for more info about that , libcurl error codes

CURLE_COULDNT_CONNECT (7)

Failed to connect() to host or proxy.

for your command :

curl http://xx.xx.xx.xx:xxxxws-relay/MessageRelayService?wsdl

when executing it in my own pc i got the response normally .

so you will need to use proxy in your SoapClient class

For making an HTTP connection through a proxy server, the options proxy_host, proxy_port, proxy_login and proxy_password are also available.

so you will need to add some params to your $params array ass follows :

$params['proxy_host'] = "proxy_ip";
$params['proxy_port'] = "proxy_port";

it's also possible (personally i recommend this) to use procedures libcurl functions or packages built on it.

if you want to use the cli way , so your command may be some thing like this :

curl http://xx.xx.xx.xx:xxxx/ws-relay/MessageRelayService?wsdl -x "ip_address:ip_port"

for socks5 ips

curl http://xx.xx.xx.xx:xxxx/ws-relay/MessageRelayService?wsdl -x "ip_address:ip_port" --socks5