import urllib.request
import urllib
import urllib.error
import json
from requests.auth import HTTPDigestAuth
userlist = tuple(range(161320,161345))
passlist = ('qq')
for username in userlist:
for password in passlist:
url='URL'
encoded=requests.get(url, auth=HTTPDigestAuth('username', 'password'))
#data = { 'username': username, 'password': password }
encoded = urllib.parse.urlencode(data).encode('utf-8')
#encoded = json.dumps(data)
request = urllib.request.Request(url,encoded)
response = urllib.request.urlopen(request)
payload = response.read().decode()
if "You have successfully logged in" in payload:
print(f"{user} {password}")
它不起作用,显示了下面提到的一些错误:
回溯(最近一次呼叫): 文件“C:/Users/Administrator/Desktop/PYHTON/NEW副本.py,第4行,在 从请求导入HTTPDigestAuth ImportError:无法导入名称“HTTPDigestAuth”
欢迎来到StackOverflow!关于您得到的错误,
urllib
并不期望POST数据是一个普通的字符串-它需要编码为字节数组。您只需在发送数据之前对其进行编码即可解决此问题:注意,这与
urlencode
不同。它只是用特殊代码替换字符串中的特定字符,但结果仍然是普通字符串。你知道吗不过,正如@stovfl所建议的,使用非常流行的Requests库,用Python发出web请求要容易得多。按照安装说明进行操作(这些说明因安装Python的方式而异,但您可能只需要在命令提示符中键入
pip install requests
),然后转到basic authentication示例并根据您的用例进行调整。你知道吗相关问题 更多 >
编程相关推荐