使用python 3.x登录网站/服务器

时间:2014-02-02 19:08:37

标签: python python-3.x webpage urllib

我希望能够通过让用户输入用户名和密码来登录网站或服务器。然后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()

1 个答案:

答案 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'))