cURL在本地工作;服务器上的连接被拒绝

时间:2019-06-18 04:28:01

标签: php curl

我正在尝试使用PHP的cUrlfile_get_content()从以下网址获得响应-

https://www.bkashcluster.com:9081/dreamwave/merchant/trxcheck/sendmsg?user=<USERNAME>&pass=<PASSWORD>&msisdn=<MSISDN>&trxid=<TRANSACTION_ID>

为简单起见-

https://www.bkashcluster.com:9081/dreamwave/merchant/trxcheck/sendmsg

对于有效的请求,它使用事务的详细信息响应XML,但是对于第二个url或参数不正确的任何请求,它从浏览器或邮递员那里响应如下-

<transactions>
    <transaction>
        <trxStatus>1002</trxStatus>
        <trxId>6E72D8VS02</trxId>
        <reference/>
    </transaction>
</transactions>

我已经写了一个php代码来获得这样的响应-

$endPoint = "https://www.bkashcluster.com:9081/dreamwave/merchant/trxcheck/sendmsg?user=xxxx&pass=xxxx&msisdn=xxxx&trxid=xxxx";
$xmlString = file_get_contents($endPoint, FILE_TEXT);

还尝试将cURL用作-

$curl = curl_init($endPoint);
curl_setopt($curl, CURLOPT_PORT, 9081); // Tried with or without
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$xml_string = curl_exec($curl);

问题:在两种情况下,我都能从本地主机获得完美响应,但从Web服务器连接执行响应时会被拒绝。

错误显示类似这样的内容

file_get_contents()

  

无法打开流:连接被拒绝

curl_error()

  

无法连接到主机

要提及的是,这两个函数都可以在服务器中使用其他任何网址,例如https://google.com

我找到了this almost similar question in stackoverflow,但不幸的是它没有任何答案。

主机站点是否有任何限制?还是我想念某些东西或需要其他任何事情?还是不适用于80以外的其他端口?

1 个答案:

答案 0 :(得分:0)

几乎可以肯定它是一个IP块(还是范围块或区域块?),您可以尝试对其进行跟踪,它可以显示您被阻止的位置,但是您是否尝试过使用另一个IP?作为记录,我尝试从挪威,法国,加拿大和荷兰进行连接,因此我可以从所有这些位置进行连接,因此,很可能是ip / range块。