【发布时间】:2020-01-14 09:05:50
【问题描述】:
所以我正在尝试使用 python 登录网络客户端 wifi 登录页面。网络客户端不断为每个登录会话生成特殊的八进制字符。所以我想做的是:
requests.get(web-client).text -> 通过循环文本索引获取八进制代码 -> 结合密码
问题是:
-如果我写
密码="密码" special="\340" + 密码 + "\043\242\062\374\062\365\062\266\201\323\145\251\200\303\025\315" 打印(特殊)它返回 =
àpassword#¢2ü2õ2¶Óe©ÃÍ #这是我想要的,python把它翻译成char
-但如果我索引网页
import requests
webtext= requests.get(web-client url).text
password= "password"
special1= ""
special2= ""
for i in range(3163, 3167): #range of the first octal
special1 = special1+webtext[i]
for i in range(3204, 3268): #range of the second octal
special2 = special2+webtext[i]
special=special1+password+special2
print(special)
它返回 =
\340password\043\242\062\374\062\365\062\266\201\323\145\251\200\303\025\315
正如您所见,它没有被解码为字符,python 将其翻译为字符串。那么我应该怎么做才能得到同样的结果呢?
顺便说一句,我正在通过打开网页 html 的已保存文本文件来模拟请求
【问题讨论】:
-
八进制超出了正常字符类型的范围。
-
\340 不适合 -127 到 128 的范围,因此您需要尝试将所有这些转换为 unicode
-
试试
special = unicode(special, "utf-8") -
我应该导入什么模块来使用'unicode'?我做了
import unicode,但它什么也没做 -
请点赞帮助
标签: python python-3.x char octal