如何在特定网址上打开套接字?

时间:2017-04-01 03:54:17

标签: c++

注意:我不太了解c ++。 我正在使用网站托管(000webhost.com),我有一个PHP脚本,旨在接收数据,在一个帖子请求。我目前正在使用的代码,它获取000webhost的主机,这不是我想要的,我想使用url(SomeName.000webhostapp.com),但它重定向到主机。 这是代码:

SOCKET Socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
SOCKADDR_IN SockAddr;
SockAddr.sin_port = htons(80);
SockAddr.sin_family = AF_INET;
SockAddr.sin_addr.s_addr = *((unsigned long*)gethostbyname("SomeName.000webhost.com")->h_addr);

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:3)

套接字不能连接到URL,它们连接到主机和端口。 URL的其余部分(即路径部分)是您在连接后在HTTP请求中通过通过发送的内容。

听起来你说你正在尝试查找#34; SomeName.000webhostapp.com",但是你得到了"的IP地址。 000webhost.com&#34 ;.这并不奇怪。您的提供商可能正在使用https://kubernetes.io/docs/concepts/configuration/assign-pod-node/,其中所有子域实际上都由单个IP地址上的单个服务器处理。

发送HTTP请求时,需要根据HTTP 1.1协议的要求包含{{1}}标头。根据该标头,服务器知道要响应的站点。