Fixing requests session TypeError: __init__() got an unexpected keyword argument 'headers'
Problem:
You are trying to initialize a Python requests session using a custom set of HTTP headers like this:
s = requests.Session(headers={
"User-Agent": "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0"
})
but you only see this stacktrace:
File "RequestsSession.py", line 30, in translate
"User-Agent": "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0"
TypeError: __init__() got an unexpected keyword argument 'headers'
Solution
You can’t use the headers=...
argument in the requests.Session(...)
constructor.
Use s.headers.update({...})
instead:
s = requests.Session()
s.headers.update({
"User-Agent": "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0"
})