1. ホーム
  2. python

[解決済み] PythonによるシンプルなURL GET/POST関数

2023-07-11 04:54:28

質問

ググっても出てこないのですが、こんな関数が欲しいです。

3つの引数(またはそれ以上、何でも)を受け入れる。

  • URL
  • paramsの辞書
  • POST または GET

結果、レスポンスコードを返せ。

これを行うスニペットはないのでしょうか?

どのように解決するのですか?

リクエスト

https://github.com/kennethreitz/requests/

一般的な使い方を紹介します。

import requests
url = 'https://...'
payload = {'key1': 'value1', 'key2': 'value2'}

# GET
r = requests.get(url)

# GET with params in URL
r = requests.get(url, params=payload)

# POST with form-encoded data
r = requests.post(url, data=payload)

# POST with JSON 
import json
r = requests.post(url, data=json.dumps(payload))

# Response, status etc
r.text
r.status_code

httplib2

https://github.com/jcgregorio/httplib2

>>> from httplib2 import Http
>>> from urllib import urlencode
>>> h = Http()
>>> data = dict(name="Joe", comment="A test comment")
>>> resp, content = h.request("http://bitworking.org/news/223/Meet-Ares", "POST", urlencode(data))
>>> resp
{'status': '200', 'transfer-encoding': 'chunked', 'vary': 'Accept-Encoding,User-Agent',
 'server': 'Apache', 'connection': 'close', 'date': 'Tue, 31 Jul 2007 15:29:52 GMT', 
 'content-type': 'text/html'}