我是python的初学者,我想知道python中的套接字和请求模块之间有什么区别。很抱歉,如果这个问题的格式很糟糕,如果这可能是因为我不知道互联网的不同协议是如何工作的,那么如果你能分享相关的文献,我将非常感激,以便我自己去寻找我的问题的答案。你能举个例子吗?
发布于 2021-12-26 18:41:03
一切都是如何相关的
请求是使用最多、级别最高的python客户机之一。它构建在urllib3上,后者构建在httpclient上。这些都是利用套接字进行调用的HTTP应用程序协议库,因此套接字是它们的基础。
关于基本套接字的更多信息
套接字在大多数操作系统中被广泛用于与网络通信,因为它们可以控制大量类型的连接和传输数据。HTTP库依赖于套接字,因此没有它们就没有HTTP/TCP协议连接。但是,另一方面,没有HTTP就可以存在套接字。
结论
最后,请求库从根本上构建在几个库上,其中套接字是(基本上)底层。您会发现请求是最容易使用的,因为它是最高级别的,文档最多。您也可以使用pysocks,但是由于它的级别较低,所以它要困难得多,但是有一些文档可以为您创建自己的连接和发送您自己的编码数据作为HTTP请求提供正确的方向。主要的优点是,短袜更难使用,但更可定制和快速。大多数python web应用程序/刮板程序使用请求,而在某些情况下,专家很少使用套接字。
多读
HTTP简介:https://www.tutorialspoint.com/http/index.htm
区分HTTP和HTTPS协议对web非常重要:https://www.cloudflare.com/learning/ssl/why-is-http-not-secure/
请求(pythons客观上使用最广泛的HTTP库):https://docs.python-requests.org/en/latest/
Pysocks (pythons使用套接字):https://pypi.org/project/PySocks/
发送者/接收者的关系(高级):https://www.geeksforgeeks.org/layers-of-osi-model/
https://stackoverflow.com/questions/70488856
复制相似问题