Maison >développement back-end >Tutoriel Python >bibliothèque de connexion de soumission de formulaire de simulation Python

bibliothèque de connexion de soumission de formulaire de simulation Python

不言
不言original
2018-04-27 11:16:433067parcourir

Cet article présente principalement en détail la méthode d'implémentation de la soumission de formulaire de simulation Python et de la bibliothèque de connexion. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Les exemples de cet article sont partagés avec vous. Le code spécifique pour Python pour simuler la connexion à la bibliothèque est pour votre référence. Le contenu spécifique est le suivant

Le principe de la simulation de soumission de formulaire :

Nous savons tous que Http est apatride. , donc lorsque nous soumettons les données sont les mêmes que celles normalement soumises dans le navigateur, le serveur renverra la même réponse que dans le navigateur. Nous allons donc ici simuler la soumission du formulaire du navigateur pour se connecter à la bibliothèque de l'Université de technologie du Guangdong http://222.200.122.171:7771/login.aspx, pour obtenir le cookie , nous accéderons ensuite au livre. Lorsque j'accéderai à d'autres pages du site Web du musée, j'apporterai ce cookie. Le serveur pensera que je suis un utilisateur connecté et me renverra les données normalement.

Nous utilisons d'abord le navigateur pour afficher le code source de la page afin de trouver le formulaire à soumettre :

Ensuite, nous devons obtenir l'entrée dans le formulaire y compris caché, Parce que caché sera également soumis avec le formulaire. Recherchez le nom correspondant au compte et au mot de passe. Ensuite, nous devons le remplir avec notre propre compte

Obtenez tous les formulaires à soumettre Après avoir saisi le contenu, remplacez le numéro de compte et le mot de passe par votre propre numéro de compte et mot de passe, soumettez la demande. Obtenez le cookie et enregistrez-le dans le cookie.

Le code est le suivant (la version Python2.7 et Python3 sont en fait similaires) :

# -*- coding:utf-8 -*- 
import urllib 
import urllib2 
import cookielib 
import bs4 
 
result = urllib2.urlopen("http://222.200.122.171:7771/login.aspx") 
soup = bs4.BeautifulSoup(result, "html.parser") 
 
loginp = soup.find("form", attrs={"name": "aspnetForm"}) 
Allinput = loginp.findAll("input") 
inputData = {} 
for oneinput in Allinput: 
 if oneinput.has_attr('name'): 
  if oneinput.has_attr('value'): 
   inputData[oneinput['name']] = oneinput['value'] 
  else: 
   inputData[oneinput['name']] = "" 
inputData['ctl00$ContentPlaceHolder1$txtPas_Lib'] = '*****' 
inputData['ctl00$ContentPlaceHolder1$txtUsername_Lib'] = '*******' 
 
filename = 'cookie.txt' 
# 声明一个MozillaCookieJar对象实例来保存cookie,之后写入文件 
cookie = cookielib.MozillaCookieJar(filename) 
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie)) 
postdata = urllib.urlencode(inputData) 
result2 = opener.open("http://222.200.122.171:7771/login.aspx", postdata) 
cookie.save(ignore_discard=True, ignore_expires=True) 
#登录后 要访问的url 
bookUrl = "http://222.200.122.171:7771/user/userinfo.aspx" 
result=opener.open(bookUrl) 
print result.read()

Recommandations associées :

Python réalise une fonction de réservation automatique de la salle d'étude de la bibliothèque

Python Requests simule la connexion pour réaliser la réservation automatique des places de bibliothèque

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn