您的位置:首页 > 编程语言 > Python开发

python模拟登录带cookie

2016-03-08 14:44 746 查看
#!/usr/bin/python

import sys, urllib2, getpass

import urllib

import urllib

import urllib2

import cookielib

class TerminalPassword(urllib2.HTTPPasswordMgr):

def find_user_password(self, realm, authurl):

retval = urllib2.HTTPPasswordMgr.find_user_password(self, realm, authurl)

if retval[0] == None and retval[1] == None:

sys.stdout.write("Login required for %s at %s\n" % (realm, authurl))

sys.stdout.write("Username: ")

username = sys.stdin.readline().rstrip()

password = getpass.getpass().rstrip()

return (username, password)

else:

return retval

class MyWeb():

def __init__(self):

self.header = {

'Host': 'music.163.com',

'Content-Type': "application/x-www-form-urlencoded; charset=UTF-8",

'Referer': 'http://music.163.com/song?id=26599525',

"User-Agent": "Opera/8.0 (Macintosh; PPC Mac OS X; U; en)"

}

self.cookie = cookielib.LWPCookieJar()

self.cookie_support = urllib2.HTTPCookieProcessor(self.cookie)

self.opener = urllib2.build_opener(self.cookie_support,

urllib2.HTTPHandler)

urllib2.install_opener(self.opener)

def get(self, url):

req = urllib2.Request(url)

opener = urllib2.build_opener(urllib2.HTTPBasicAuthHandler(TerminalPassword()))

fd = opener.open(req)

print "Retrieved", fd.geturl()

info = fd.info()

for key, value in info.items():

print "%s = %s" % (key, value)

if __name__ == "__main__":

web = MyWeb()

url = 'http://192.168.1.1'

res = web.get(url)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: