Maison > Article > développement back-end > Explication détaillée de l'apprentissage de Python en utilisant urllib et urllib2 pour accéder à http GET/POST
Avant-propos
Cet article présente principalement comment Python apprend à accéder à GET/POST de http En utilisant urllib et urllib2, vous pouvez facilement implémenter l'accès http, pas grand-chose. Pour dire ci-dessous, jetons un coup d'œil à l'introduction détaillée.
Explication détaillée de l'exemple
Ce qui suit est un exemple d'implémentation de GET et POST pour http://127.0.0.1/cgi/test
Utilisation d'une requête de la manière habituelle sense string
POST accepte json
Il est recommandé d'étudier le "Tutoriel vidéo Python"
Parmi eux,
la méthode Request d'urllib2 si un seul paramètre est la méthode GET, mais s'il prend deux paramètres, c'est la méthode POST de http et le deuxième paramètre est le contenu de POST.
#!/usr/bin/env python
import urllib
import urllib2
import json
url_base = "http://127.0.0.1/ cgi/test"
#GET
try:
query = {'test':'yes','name':'colin'}
query_string = urllib.urlencode(query)
url = url_base+"?"+query_string
print "GET", url
print "sortie web :"
print urllib2.urlopen(urllib2.Request(url )).read()
sauf exception comme err:
print err
#post
try:
url = url_base
print "POST", url
a = {'k1':123, 'k2' : '456', 'k3' :'test'}
json_s = json.dumps(a)
Entrée POST : "
print json_s
print "sortie web :"
print urllib2.urlopen(urllib2.Request(url, json_s)).read()
sauf exception comme err :
print err
le test est écrit en bash, comme indiqué ci-dessous, où jq est la commande pour traiter json, vous devez le télécharger, bash/sed/awk devrait être le propre du système avec
#!/bin/bash
echo -e 'Content-type:text/plainr'
echo -e 'r'
if [ X "$REQUEST_METHOD" = s/,[ t]*$//;s/"//g;p'
else
echo ${QUERY_STRING} | awk 'BEGIN{RS="&"}1'
fi
GET http://127.0.0.1/v1/lic/test?test=yes&name=colin
web sortie :
test=yes
name=colin
POST http://127.0.0.1/v1/lic/test
Entrée POST :
{"k3": "test ", "k2": "456", "k1": 123}
sortie web :
k3= test
k2= 456
k1= 123
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!