栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

AttributeError: ‘WrappedSocket‘ object has no attribute ‘getsockname‘ or ‘getpeername‘

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AttributeError: ‘WrappedSocket‘ object has no attribute ‘getsockname‘ or ‘getpeername‘

使用 requests 获取客户端和服务端 IP 地址和端口时捕获到如下异常:

'WrappedSocket' object has no attribute 'getsockname'
'WrappedSocket' object has no attribute 'getpeername'

之前是访问 HTTP 请求,可以正常获取到地址和端口号,修改为 HTTPS 后,抛出异常。

在 stackoverflow 找到解决方案。

地址:https://stackoverflow.com/questions/22492484/how-do-i-get-the-ip-address-from-a-http-request-using-the-requests-library

方案:

try:
	server_ip, server_port = response.raw.connection.sock.getpeername()
except AttributeError as ex:
	# logger.warning(f"failed to get server address info: {ex}")
	server_ip, server_port = response.raw.connection.sock.socket.getpeername()
logger.debug(f"server IP: {server_ip}, tPort: {server_port}")

获取客户端同理。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/708644.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号