What is the correct way to handle site requests using cookie handlers in Python3?

I am writing a script in Python 3.1.2 that logs into the site and then starts making requests. I can log into the system without much difficulty, but after that the queries return an error stating that I have not logged in. My code is as follows:

import urllib.request
from http import cookiejar
from urllib.parse import urlencode

jar = cookiejar.CookieJar()

credentials = {'accountName': 'username', 'password': 'unenc_pw'}
credenc = urlencode(credentials)

opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(jar))
urllib.request.install_opener(opener)
req = opener.open('http://www.wowarmory.com/?app=armory?login&cr=true', credenc)
test = opener.open('http://www.wowarmory.com/auctionhouse/search.json')
print(req.read())

print(test.read())

The response to the first request is the page that I expect to get when I log in.

The answer to the second:

b'{"error":{"code":10005,"error":true,"message":"You must log in."},"command":{"sort":"RARITY","reverse":false,"pageSize":20,"end":20,"start":0,"minLvl":0,"maxLvl":0,"id":0,"qual":0,"classId":-1,"filterId":"-1"}}'

Is there something that I am missing to use any cookie information I received from successful authentication for future requests?

+3
source share
1 answer

. cookie cookie . , . "Set-Cookie" , - . , , , "Cookie" , .

0

Source: https://habr.com/ru/post/1775177/


All Articles