我希望能够通过让用户输入用户名和密码来登录网站或服务器。然后python程序将登录到一个网站并打印重定向URL的源代码。我可以使用eHow的以下代码打印网页的源代码。我试图访问的服务器是192.168.0.1,这是我家庭网络的wifi服务器。
import urllib.request
from array import array
file = open("DLINK.txt","w")
filehandle = urllib.request.urlopen('http://192.168.0.1')
for lines in filehandle.readlines():
print(lines)
file.write(str(lines))
file.close()
filehandle.close()
答案 0 :(得分:1)
我猜D-Link正在使用基本身份验证。在这种情况下,您可以使用documentation中的此代码来获取登录信息。
import urllib.request
# Create an OpenerDirector with support for Basic HTTP Authentication...
auth_handler = urllib.request.HTTPBasicAuthHandler()
auth_handler.add_password(realm='D-Link', uri=url, user=username, passwd=password)
opener = urllib.request.build_opener(auth_handler)
urllib.request.install_opener(opener)
f = urllib.request.urlopen(url)
print(f.status)
print(f.reason)
print(f.read().decode('utf-8'))