備忘録

備忘録

Pythonでhttpxを利用してHTTPリクエストする方法

Ⅰ. はじめに

タイトルの通り「Pythonでhttpxを利用してHTTPリクエストする方法」です。

Ⅱ. サンプルプログラム

# pip install httpx[socks]
import httpx

proxy = 'http://127.0.0.1:8008'
# proxy = 'socks5://user:pass@host:port'
client = httpx.Client(proxies=proxy, verify=False)

# GETする
response = client.get('https://example.org/')
print(response.headers['Content-Type'])
print(response.text)

# GETする(ヘッダーを指定する)
headers= {
  'User-Agent': 'Mozilla'
}
response = client.get('https://example.org/', headers=headers)

# GETする(パラメータ付加)
response = client.get('https://example.org/', params={'key001': 'value001'})
print(response.url)

# POSTする(application/x-www-form-urlencoded)
data = {
  'key001': 'value001'
}
response = client.post('https://httpbin.org/post', data=data)

# POSTする(multipart/form-data)
files = {
  'file001': ('aaa.png', open('aaa.png', 'rb'), 'image/png'),
  'text': ('', 'aaaa', 'text/plain')
}
response = client.post('https://httpbin.org/post', files=files)

client.close()

実行結果

省略