Maison >développement back-end >Tutoriel Python >Résumé des bibliothèques de méthodes de requête http en Python

Résumé des bibliothèques de méthodes de requête http en Python

高洛峰
高洛峰original
2017-03-16 17:07:571216parcourir

Récemment, j'utilise python pour faire des tests d'interface, et j'ai découvert qu'il existe de nombreuses méthodes de requête http en python. Je vais prendre du temps aujourd'hui. pour trier le contenu pertinent et le partager avec vous tout le monde, le contenu spécifique est le suivant :

1. la propre bibliothèque de python ---- urllib2

la propre bibliothèque de python urllib2 est couramment utilisée. , et l'utilisation simple est la suivante :

import urllib2

response = urllib2.urlopen('http://localhost:8080/jenkins/api/json?pretty=true')

print réponse.read()

Demande d'obtention simple

import urllib2

import urllib

post_data = urllib.urlencode({})

response = urllib2.urlopen('http://localhost:8080/, post_data)

print Response.read()

print Response.getheaders()

C'est l'exemple le plus simple d'envoi d'un message par urllib2. Il y a beaucoup de codes

2. La propre bibliothèque de Python - httplib

httplib est un module de requête http de niveau relativement bas, et urlib est encapsulé sur la base de httplib. L'utilisation simple est la suivante :

import httplib
conn = httplib.HTTPConnection("www.python.org")
conn.request("GET", "/index.html")
r1 = conn.getresponse()
print r1.status, r1.reason
data1 = r1.read()
conn.request("GET", "/parrot.spam")
r2 = conn.getresponse()
data2 = r2.read()
conn.close()

Demande d'obtention simple

Regardons la demande de publication

import httplib, urllib
params = urllib.urlencode({'@number': 12524, '@type': 'issue', '@action': 'show'})
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
conn = httplib.HTTPConnection("bugs.python.org")
conn.request("POST", "", params, headers)
response = conn.getresponse()
data = response.read()
print data
conn.close()


Vous pensez que c'est trop compliqué ? Vous devez lire le document à chaque fois que vous écrivez, jetons un coup d'œil au troisième

3. Bibliothèque tierce - requêtes

L'envoi d'une demande d'obtention est super simple :

print requests.get('http://localhost:8080).text
Juste une phrase, jetons un œil à la demande de publication

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("http://httpbin.org/post", data=payload)
print r.text
C'est aussi très simple.

Regardons à nouveau si vous souhaitez vous authentifier :

url = 'http://localhost:8080'
r = requests.post(url, data={}, auth=HTTPBasicAuth('admin', 'admin'))
print r.status_code
print r.headers
print r.reason
N'est-ce pas beaucoup plus simple que urllib2, et les requêtes sont livrées avec l'analyse json. C'est génial

requête http en python

import urllib
params = urllib.urlencode({key:value,key:value})
resultHtml = urllib.urlopen('[API or 网址]',params)
result = resultHtml.read()
print result


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