通过curl和php连接到端口地址

时间:2012-07-25 09:59:36

标签: php ssl curl

我正在使用CURL开发一个php网站,但它只能在我的本地服务器上运行而不能在实时服务器上运行。它会返回错误“无法连接到主机”

CURL iS安装在实时服务器上,我测试了它。

SSL安装在实时服务器上,我使用curl连接到端口9301

即; HTTP://xx.xxx.xx.xxx:9301 /测试

这是我的代码:

    $request =  'http://xx.xxx.xx.xxx:9301/test'; 
    // The request parameters 
    $context = 'something'; 

    // urlencode and concatenate the POST arguments 
    $postargs = 'xmlRequest='.urlencode($context);
    $session = curl_init($request); 
   // Tell curl to use HTTP POST
    curl_setopt ($session, CURLOPT_POST, true); 
    // Tell curl that this is the body of the POST
    curl_setopt($ch, CURLOPT_PORT, '9301');


    curl_setopt ($session, CURLOPT_POSTFIELDS, $postargs); 
    // Tell curl not to return headers, but do return the response
    curl_setopt($session, CURLOPT_HEADER, false); 
    curl_setopt($session, CURLOPT_RETURNTRANSFER, true);

    $response = curl_exec($session); 
   //echo curl_getinfo($session);   
    echo $err = 'Curl error: ' . curl_error($session);
   curl_close($session); 
   echo $response;

从我的测试中可以看出,我无法通过Curl连接到端口地址。要连接到端口地址,需要更改任何服务器设置吗?

1 个答案:

答案 0 :(得分:7)

curl_setopt($ch, CURLOPT_PORT, '9301');

这是你的问题。在您的情况下,句柄不是$ch,而是$session

我猜错了。

一般情况下:确保在开发过程中显示所有错误。记录它们或将它们放在屏幕上。 你很容易就能抓住这个。