关于Python3.10以上版本使用hyper库报错问题

报错:

ImportError: cannot import name 'Iterable' from 'collections' (D:\python\lib\collections\__init__.py)

原因因为python3.10版本后,库collections 停用了,其中就包含了 pygal._compat.py 中的 from collections import Iterator;

解决办法:

    1、可以换个低版本python。

    2、

#python3.10后的源码
from collections import Iterable


#把上面的代码替换成下面这一行,没错就是在collections后加.abc
from collections.abc import Iterable

应该是四处需要改的,改完这四处即可正常使用hyper发送443的包啦!

接下来分享一下hyper的基本用法

from hyper import HTTPConnection

header={"":""}#请求头
data={"":""}#请求参数

#加入端口:443 假如向网站:https://www.xxx.com/web/async-js/ 发送443请求
conn = HTTPConnection('www.xxx.com:443')
conn.request('GET', '/web/async-js/', headers=header,body=json.dumps(data))
resp = conn.get_response()
#//不解码返回的数据,源码中有示例,不传参入则默认utf-8
s = resp.read(decode_content=True)

print(s)#输入请求结果

#直接输入s可能 会遇到返回数据中会有二进制信息,导致我们看不懂
#解决办法,通过以下就可以像requests一样的返回结果啦
ss=s.decode()
print(ss)

ok了,hyper普及完毕!

 

1675857444037

 

© 版权声明
THE END
喜欢就支持一下吧
点赞13赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容