Я нашел решение для моей синтаксической ошибки, однако я не понимаю, почему оригинальный код не работал.
Я пробовал несколько разных модулей, таких как urllib
, requests
и даже sockets
.однако мне было приказано использовать requests
за его простоту и точность.Я не хочу давать много информации, поскольку это было проблемой на HTB, однако люди, с которыми я связывался, просто говорят мне: «Ух ты, твой синтаксис выглядит хорошо» и ничем не помогают… Ба.Если мне нужно удалить сообщение из-за спойлеров, я сделаю это немедленно.
Тебе ниже сниппет работал
import requests
import hashlib
s = requests.session()
url = 'someURL'
r = s.get(url)
cookie = s.cookies.get_dict() ##CHANGING THIS WORKED
x = r.text[167:187] #grabbing specific string
a = hashlib.md5(x.encode('utf-8')).hexdigest() ### CHANGING THIS WORKED
# b = s.post(url, data=a, cookies={'PHPSESSID': '{cookie}'})
final = s.post(url, data={'hash':a}, cookies=cookie)
print(final.text)
Я ожидаю, что PHPSESSID будет передан в виде cookie обратно на сервер во времязапрос.приведенный выше синтаксис работает, однако это не так ...
import requests
import hashlib
s = requests.session()
url = 'someURL'
r = s.get(url)
cookie = s.cookies['PHPSESSID']
x = r.text[167:187]
h = hashlib.md5()
h.update(x)
a = h.hexdigest()
b = s.post(url, data=a, cookies={'PHPSESSID': '{cookie}'})
print(b.text)
что если я захочу назначить себе cookie?Я не понимаю, как get_dict()
работает, а другой нет.