英文:
How can I read the value of a HttpOnly cookie?
问题
我正在使用Python和Selenium浏览一个网站,一旦登录,我想要将会话(导出Cookie)从Selenium浏览器传输到Python的requests会话,但我注意到有一个名为"session-token"的Cookie未被传输,我还注意到这个Cookie被标记为:
- 仅主机
- 安全
- HttpOnly
我已经阅读了这个问题,使用Postman的拦截器桥扩展并同步Cookie,我注意到"session-token" Cookie被导出到桌面程序,这是如何可能的?有没有办法读取这个Cookie的值?
我尝试直接使用requests登录,但Cookie没有被设置。
我还尝试使用控制台打印Cookie,这是代码:
var theCookies = document.cookie.split(';');
for (var i = 0 ; i <= theCookies.length; i++) {
console.log(theCookies[0] );
}
但Cookie没有被打印出来。
英文:
I'm using python and selenium to browse a website, once logged in I would like to transfer the session (exporting cookies) from the selenium browser to a python requests session, but I noticed that there is a cookie called "session-token " which is not transferred, I also noticed that this cookie is marked as:
- HostOnly
- Secure
- HttpOnly
I've already read this question, using Postman's Interceptor bridge extension and synchronizing cookies, I noticed that the "session-token" cookie is exported to the desktop program, how is this possible? Is there any way to read the value of this cookie?
I tried logging in directly using requests but the cookie is not being set.
I also tried to print the cookies using the console, this is the code:
var theCookies = document.cookie.split(';');
for (var i = 0 ; i <= theCookies.length; i++) {
console.log(theCookies[0] );
}
but the cookie is not printed.
答案1
得分: 1
"session-token" cookie 是一个安全的 HttpOnly cookie。你可以查看这个链接:https://stackoverflow.com/questions/72889905/how-can-i-read-httponly-and-secure-cookies-in-the-browser-with-javascript。
如果需要的话,你可以手动提取 cookies:
driver = webdriver.Chrome()
# 执行必要的操作以登录并导航到所需的页面
# ...
# 从 Selenium 获取 cookies
cookies = driver.get_cookies()
英文:
The "session-token" cookie you mentioned is likely being set as a secure and HttpOnly cookie.
see this link:
https://stackoverflow.com/questions/72889905/how-can-i-read-httponly-and-secure-cookies-in-the-browser-with-javascript.
if you want you can extract cookies manually:
driver = webdriver.Chrome()
# Do necessary actions to log in and navigate to the desired page
# ...
# Get cookies from Selenium
cookies = driver.get_cookies()
答案2
得分: 0
如果您正在使用selenium
,有一种方法可以获取所有的cookie:
driver = webdriver.Chrome()
# 这将返回所有的cookie内容
cookies = driver.get_cookies()
如果您倾向于使用Python的requests
,您可以使用以下方法实现:
session = requests.Session()
resp = session.get("your-target-url")
# 这将以字典对象的形式返回
print(resp.cookies.get_dict())
英文:
If you are using selenium
there's a method to get all of the cookies
driver = webdriver.Chrome()
# this will return all the cookies context
cookies = driver.get_cookies()
if you tend to using Python's requests, you can achieve that with called this method
session = requests.Session()
resp = session.get("your-target-url")
# this will return as dictionary object
print(resp.cookies.get_dict())
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论