curl可以连接到任何TCP端口,而不仅仅是HTTP / HTTPS吗?

时间:2013-12-06 22:22:22

标签: php curl

curl可以连接任何TCP端口而不仅仅是HTTP / HTTPS

我需要检查一个开放端口,例如:11740

这可能吗?

3 个答案:

答案 0 :(得分:16)

是的,有可能,语法是curl [protocol://]<host>[:port],例如:

curl example.com:1234

如果您正在使用Bash,您还可以使用pseudo-device /dev files打开TCP连接,例如:

exec 5<>/dev/tcp/127.0.0.1/1234
echo "send some stuff" >&5
cat <&5 # Receive some stuff.

另见:More on Using Bash's Built-in /dev/tcp File (TCP/IP)

答案 1 :(得分:4)

当然:

curl http://example.com:11740
curl https://example.com:11740

端口80和443只是默认端口号。

答案 2 :(得分:3)

由于您使用的是PHP,因此您可能需要使用CURLOPT_PORT选项,如下所示:

curl_setopt($ch, CURLOPT_PORT, 11740);

请记住,您可能会遇到SELinux的问题:

Unable to make php curl request with port number