Я работаю с Python модулем запросов и столкнулся с проблемой, которую не могу решить. Я относительно новичок в запросах, но даже с поиском в Google / документацией я попал в стену.
Я пытаюсь получить ссылку (или "домен") от указанного c cook ie, который в ответ на запрос GET, который я сделал. Я могу только печатать повар ie, а не домен. Объяснение ниже:
Код (см. Комментарии):
import pickle
import requests
import time
r = requests.post('https://example.com/AddToCartURL')
print("----------------------------------------")
cookies = r.cookies #prints all cookies
print(r.cookies)
time.sleep(3)
# Code below will now use cookies and do a GET request to checkout URL
r = requests.get("https://example.com/checkout", cookies=cookies)
print("HEADERS")
time.sleep(1)
print(r.headers)
print("---------")
print("Cookie")
print(r.cookies)
print("---------") # THIS IS WHERE MY ISSUE IS :
print(r.cookies['checkout']) # This prints the cookie itself
print(r.cookies['checkout']['domain'])
выходы и проблемы:
Итак, вот мой выпуски:
# 1 - CookieJar Cook ie показывается примерно так, когда я печатаю r.cookies:
<Cookie checkout=r3jk43nb42knj32--fjnk3jk2jkn2323njk for www.example.com/checkout/url>
И когда я печатаю (r. cookie ['checkout']) Я получаю повара ie, очевидно:
r3jk43nb42knj32 - fjnk3jk2jkn2323njk
Что я пытаюсь сделать здесь, по сути, это получить домен от это, что я пытаюсь сделать как:
print (r.cookies ['checkout'] ['domain'])
получить ответ:
Traceback (most recent call last):
File "/Users/user/PycharmProjects/project/Main.py", line 29, in <module>
print(r.cookies['checkout']['domain'])
TypeError: string indices must be integers
Что то, что вы найдете из быстрого поиска в Google. В отношении документации я не смог найти четкого ответа, вероятно, потому что я все еще плохо разбираюсь в поиске. Я попробовал очевидное использование целого числа, предполагая, что они ссылаются на индексирование. Однако при этом печатается один символ самого повара ie.
Что я пытаюсь напечатать, в частности, example.com/checkout/url из повара ie выше. Я пытаюсь взаимодействовать с ним, чтобы продолжить мой код в процессе оформления заказа.
Это пример полной готовки ie jar: (вызывается print (r. куки))
<RequestsCookieJar[<Cookie random_other_cookie= 3j32fj302fj023jfi for example.com/checkoutURL>, <Cookie checkout=r3jk43nb42knj32--fjnk3jk2jkn2323njk for example.com/checkoutURL>]>
--------------------------------
# 2 - Неправильно ли я занимаюсь этим?
Немного дополнительной справочной информации, приведенный выше запрос GET дает ответ 301. Перемещение окончательно. Я на 99% уверен, что URL, на котором я остановился (по крайней мере, на переднем крае), - это URL, который мне нужен / тот же URL, что и у повара ie выше.
Мой вопрос не пытаться захватить домен у повара ie, а вместо этого как-то попытаться захватить URL перенаправления?
(он же URL, по которому заканчивается запрос, а не исходный URL https://example.com/checkout)
---------- --------------------------
Надеюсь, я достаточно хорошо изложил свои проблемы. Это мой первый пост в StackOverflow после нескольких месяцев потасканных ответов.
Спасибо.