Python Requestsを使ってウェブページをリクエストしている間に"User-agent"
の値を送りたいのです。以下のコードのように、これをヘッダの一部として送信してもよいかどうかはわかりません。
debug = {'verbose': sys.stderr}
user_agent = {'User-agent': 'Mozilla/5.0'}
response = requests.get(url, headers = user_agent, config=debug)
デバッグ情報は、要求中に送信されているヘッダーを示していません。
この情報をヘッダーに入れて送信してもかまいませんか。そうでなかったら、どうすればそれを送ることができますか。
user-agent
は、ヘッダー内のフィールドとして指定する必要があります。
これは HTTPヘッダーフィールドのリスト です。おそらくUser-Agent
を含む 要求固有のフィールド に興味があるでしょう。
あなたが望むことをする最も簡単な方法は、辞書を作成して、あなたのヘッダを直接指定することです。
import requests
url = 'SOME URL'
headers = {
'User-Agent': 'My User Agent 1.0',
'From': '[email protected]' # This is another valid field
}
response = requests.get(url, headers=headers)
古いバージョンのrequests
ではデフォルトヘッダが壊れていたので、デフォルトヘッダを保存してから自分自身を追加するには次のようにします。
import requests
url = 'SOME URL'
# Get a copy of the default headers that requests would use
headers = requests.utils.default_headers()
# Update the headers with your custom ones
# You don't have to worry about case-sensitivity with
# the dictionary keys, because default_headers uses a custom
# CaseInsensitiveDict implementation within requests' source code.
headers.update(
{
'User-Agent': 'My User Agent 1.0',
}
)
response = requests.get(url, headers=headers)