首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.connect()函数和CONNECT方法有什么区别?

.connect()函数和CONNECT方法有什么区别?
EN

Stack Overflow用户
提问于 2019-06-14 20:58:16
回答 1查看 2.8K关注 0票数 0

我正在学习Python;具体来说,我正在学习网络体系结构和HTTP请求。下面的课程示例演示如何编写简单的web浏览器。

代码语言:javascript
复制
import socket

mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
mysock.connect(('data.pr4e.org', 80))
cmd = 'GET http://data.pr4e.org/romeo.txt HTTP/1.0\r\n\r\n'.encode()
mysock.send(cmd)

while True:
    data = mysock.recv(512)
    if (len(data) < 1):
        break
    print(data.decode(),end='')
mysock.close()

据我了解,.connect()函数启动双向通信,有效地“打开隧道”.语法是socketname.connect(('address'),port)

但是,我想知道该函数与描述的这里连接方法之间是否有区别。这个语法是:连接服务器:端口

具体而言,何时使用其中一种或另一种合适?

EN

回答 1

Stack Overflow用户

发布于 2019-06-14 21:18:55

.connect()函数将TCP套接字连接到远程服务器,远程服务器允许将数据发送到服务器并从服务器接收。在您的示例中,您使用TCP套接字发送HTTP命令,并接收相应的HTTP响应。

HTTP CONNECT方法是完全不同的。它是一种HTTP命令,包括GET (您正在使用的)、HEADPOSTPUT等,可以通过连接的套接字发送。CONNECT与HTTP隧道有关(即让web服务器代理您对另一台服务器的请求)。

发送CONNECT命令时,基本上是指示服务器将未来的HTTP命令转发到不同的HTTP服务器。因此,这就像是在某种程度上“连接”到另一个服务器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56605040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档