Heim >Backend-Entwicklung >Python-Tutorial >Ausführliche Erläuterung des Beispiels für eine simulierte Python-Anmeldung

Ausführliche Erläuterung des Beispiels für eine simulierte Python-Anmeldung

零下一度
零下一度Original
2017-06-16 10:21:511762Durchsuche

Dieser Artikel stellt hauptsächlich den Python-Simulations-Login-Implementierungscode vor, der einen gewissen Referenzwert hat.

Das Folgende ist eine Website, die Python verwendet der simulierten Anmeldung.

Prinzip

Verwenden Sie die Cookie-Technologie, um die Website-Anmeldebestätigung zu umgehen. Um die Cookielib-Bibliothek zu verwenden. Prozess:

  1. Erstellen Sie einen Container zum Speichern von Cookies. Die Optionen sind CookieJar, FileCookieJar, MozillaCookieJar und LWPCookieJar. Die Beziehung zwischen ihnen ist CookieJar --- Abgeleitet -->FileCookieJar --. - Abgeleitet ––>MozillaCookieJar und LWPCookieJar.

  2. Dann erstellen Sie einen Prozessor-Handler, der Cookies verarbeitet. Übergeben Sie urllib2.HTTPCookieProcessor(cookie)

  3. Erstellen ein Öffner zum Öffnen der Website. Das ist es. Dieser Öffner ist häufiger als die Methode urllib2.urlopen. opener = urllib2.build_opener(handler).

  4. Dann können wir den Opener verwenden, um normal auf das Netzwerk zuzugreifen.

Kleiner Fall

Die implementierte Funktion besteht darin, die Anmeldung auf der Website für akademische Angelegenheiten der Technischen Universität Dalian zu simulieren. Der Code lautet wie folgt:

# coding:UTF-8

import urllib,urllib2,cookielib

filename = r'F:\pachong\gaoqing\dlutcookie.txt'
# show cookie and save to local
cookie = cookielib.MozillaCookieJar()
handler = urllib2.HTTPCookieProcessor(cookie)
opener = urllib2.build_opener(handler)
# 记得使用urllib模块进行参数的encode
postdata = urllib.urlencode({
  # 哈哈,本宫不给你们我的账号╭(╯^╰)╮
  'zjh':'xxxxxxxxx',
  'mm':'XXXXXX'
})


# 登陆到教务系统的url
url = 'http://zhjw.dlut.edu.cn/loginAction.do'

# 开始进行模拟登陆,并把cookie保存到变量
response = opener.open(url,postdata)
cookie.save(filename,ignore_discard=True,ignore_expires=True)

# 打印一下获得的cookie信息吧
for item in cookie:
  item.name + ' = ' + item.value

# 利用cookie访问另一个网址  登陆到个人成绩的URL
course_url='zhjw.dlut.edu.cn/xkAction.do?actionType=6'
course_header={
  'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586',
  'referer':'zhjw.dlut.edu.cn/menu/s_main.jsp'
}

result = opener.open(course_url)
print result.read()

Laufergebnisse

Zusammenfassung

Tatsächlich besteht bei der simulierten Anmeldung die erste Anmeldung darin, die Cookie-Daten abzurufen. Verwenden Sie dann den von uns erstellten Öffner, um die wichtigsten weiteren Vorgänge abzuschließen, die wir als Nächstes ausführen möchten. Wir müssen lediglich den Prozess der Verwendung des Cookies verstehen.

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung des Beispiels für eine simulierte Python-Anmeldung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn