Home  >  Article  >  Backend Development  >  Summary of http request method libraries in Python

Summary of http request method libraries in Python

高洛峰
高洛峰Original
2017-03-16 17:07:571215browse

Recently using python to do interface testing, I found that there are many http request methods in python. I will take some time to sort out the relevant content today and share it with you. Everyone, the specific content is as follows:

1. python’s own library----urllib2

Python’s own library urllib2 is used more often, and the simple use is as follows:

import urllib2

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

print response.read()

Simple get request

import urllib2

import urllib

post_data = urllib.urlencode({})

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

print response.read()

print response.getheaders()

This is the simplest example of urllib2 sending a post. There are a lot of codes

2. python’s own library--httplib

httplib is a relatively low-level http request module, and urlib is encapsulated based on httplib. The simple use is as follows:

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()

Simple get request

Let’s see if post request

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()


## is I think it's too complicated. You have to read the document every time you write, let’s take a look at the third one

3. Third-party library--requests

It’s super easy to send a get request:

print requests.get('http://localhost:8080).text

Just In a word, let’s look at the post request

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("http://httpbin.org/post", data=payload)
print r.text

which is also very simple.

Let’s take a look again if you want to authenticate:

url = 'http://localhost:8080'
r = requests.post(url, data={}, auth=HTTPBasicAuth('admin', 'admin'))
print r.status_code
print r.headers
print r.reason

Is it much simpler than urllib2, and requests comes with json parsing. This is great

http request in python

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


The above is the detailed content of Summary of http request method libraries in Python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn