带有端口号问题的 PHP Curl

标签 php curl port

这是将 PHP 与 Curl(在托管服务器上)结合使用的问题。我正在尝试控制端口 54512 上的远程设备(LED 状态)(例如)。 $url 包括与短 CGI 命令连接的 IP:port 号码。

以下为代码片段;

$sensorIP = "77.134.85.187:54512"; // IP:port format

$url = $sensorIP . "/setParam.cgi?DOStatus_02=0" ; // set E2210 LED off

echo $url; // 

$result =  accessURL ($url); // set LED state on E2210 remote unit  

此代码超时。当我在网络浏览器中使用 $url 作为地址时,它工作正常。所以接收端口54512没有被阻塞。当我使用 IP:80 形成 $url 它工作正常(接收端口设置为 80)。我尝试使用 CURLOPT_PORT 选项和PHP 脚本仍然超时。

发送服务器传出 HTTP 没有阻止任何端口号,我向我的托管公司核实过。他们认为我有一个编程错误,但是在哪里?

谢谢!阿尔

最佳答案

解决方法:

  1. 试试 $sensorIP = "http://77.134.85.187:54512";

  2. 确保出站端口 54512 已打开(请咨询您的托管服务提供商)

  3. curl_exec() 函数之后,添加$output = curl_getinfo($ch); 并打印并检查输出。你可以从中得到一些信息。

  4. 不要将端口号作为 url 的一部分。请改用以下内容:

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

关于带有端口号问题的 PHP Curl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14152628/

相关文章:

linux - 套接字连接被拒绝

client-server - 如何从客户端脚本中的空闲端口启动服务器?

php - 如何运行查询应用长文本作为条件

maven - 如何使用curl从REST API在Nexus 2上上传具有不同分类器和相同pom.xml的jar?

python - 如何通过 HTTPie 使用空 json 数据发帖?

rest - postman 工作,但 "Code snippet"没有生成。 curl

php - ajax中的功能不起作用

javascript - 禁用提交,但首先提交表单

php - 如何按照我在 "IN"条件内指定行 id 的顺序对 mysql 结果进行排序

port - 将 MPI 设置为在一系列端口上运行