如何基于URL确定(using c++
和winsock
)站点协议,例如(www.google.com
),如果该协议事先未知?
或者如何确定Web服务器的TCP端口?
我想使用www.
之后的链接进行HTTP获取请求,并且需要确定端口或协议,才能使用http over tls
或simple http
。
答案 0 :(得分:0)
在您的示例中,import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
是域名。
要获取协议,您需要完整的网址,例如
www.google.com
或https://www.google.com
在上面的示例中,http://www.google.com
和http
是协议类型。
您还可以使用https
确定所使用的开放端口,服务名称和协议
答案 1 :(得分:0)
不能。 您决定用于与某些服务器联系的协议。如果您还没有决定,那就不知道。当然,您的计算机无法告诉您它将是什么。
这就像问一家超市收银员今天要买什么。他们不知道。 您应该告诉他们。
您可以要做的是查看该服务器上的网站是否将HTTP流量自动重定向到HTTPS URI(从而强制执行SSL),或者以其他方式阻止非HTTPS流量。如果您要这样做,可以尝试建立与该域的HTTP连接并查看会发生什么。
取决于您的网络浏览器的make / model / version,这可能是您在未指定协议的情况下输入“ www.google.com”时所执行的操作:假设http://
然后执行任何带您的远程重定向改为https://
。不过,如果您已经安装了某些扩展名,或者已经安装了某些扩展名,则默认值为https://
。我必须再次强调,这仍然是客户端(即浏览器)来做决定,而不是服务器;如果您正在编写自己的浏览器,那么<em>您必须再次选择默认值。