使用Python请求时如何获取基础套接字

使用Python请求时如何获取基础套接字,第1张

使用Python请求时如何获取基础套接字

对于流连接(使用

stream=True
参数打开的连接),可以
.raw.fileno()
响应对象上调用方法以获取打开的文件描述符。

您可以使用该

socket.fromfd(...)
方法从描述符创建Python套接字对象:

>>> import requests>>> import socket>>> r = requests.get('http://google.com/', stream=True)>>> s = socket.fromfd(r.raw.fileno(), socket.AF_INET, socket.SOCK_STREAM)>>> s.getpeername()('74.125.226.49', 80)>>> s.getsockname()('192.168.1.60', 41323)

对于非流套接字,将在返回响应对象之前清理文件描述符。据我所知,在这种情况下没有办法。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5673375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存