ホームページ  >  記事  >  バックエンド開発  >  Python の http リクエスト メソッド ライブラリの概要

Python の http リクエスト メソッド ライブラリの概要

高洛峰
高洛峰オリジナル
2016-11-23 13:28:471853ブラウズ

最近インターフェースのテストに Python を使用していて、Python には多くの http リクエスト メソッドがあることがわかりました。今日は時間をかけて関連する内容を整理し、それを共有します。
1.独自のライブラリ---urllib2

Python の組み込みライブラリ urllib2 がよく使われます。簡単な使用法は次のとおりです。

import urllib2

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

print response.read()

単純な get request

import urllib2

import urllib

post_data = urllib.urlencode({})

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

print response.read()

print response.getheaders()

これは、urllib2 が投稿を送信する最も単純な例です。コードがたくさんあります
2. Python 独自のライブラリ - httplib

httplib は比較的低レベルの http リクエスト モジュールであり、urlib は httplib に基づいてカプセル化されています。簡単な使用法は次のとおりです。
import httplib
conn = httplib.HTTPConnection("www.python.org")
conn.request("GET", "/index.html")
r1 = conn.getresponse()
print r1.ステータス、r1.reason
data1 = r1.read()
conn.request("GET", "/parrot.spam")
r2 = conn.getresponse()
data2 = r2.read()
conn。 close( )

単純なgetリクエスト

postリクエストを見てみましょう
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()


だと思いますか?複雑すぎる? 。書くたびにドキュメントを読む必要があります。3 番目のドキュメントを見てみましょう
スリーパーティ ライブラリ -- requests

get リクエストの送信は非常に簡単です:
printrequests.get('http://localhost: 8080).text

一文だけ、投稿リクエストをもう一度見てみましょう
payload = {'key1': 'value1', 'key2': 'value2'}
r =requests.post("http://httpbin .org/post", data=payload)
print r.text

も非常に簡単です。

認証したい場合はもう一度見てください:
url = 'http://localhost:8080'
r =requests.post(url, data={}, auth=HTTPBasicAuth('admin', 'admin'))
print r.status_code
print r.headers
print r.reason
urllib2 よりもはるかに単純ではありませんか。リクエストには json 解析が含まれます。これは素晴らしいです

Python での http リクエスト
import urllib
params = urllib.urlencode({key:value,key:value})
resultHtml = urllib.urlopen('[API または URL]',params)
result = resultHtml .read()
結果を印刷

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。