我正在尝试为网站设置一个cookie,但是如果我打印一个cookielist我只会获得网站设置的会话ID cookie而不是我试图设置的那个。
我试图遵循文件,但无法弄清楚它为什么不起作用。
亲切的问候, 标记
import requests
from bs4 import BeautifulSoup
s = requests.session()
cookie = {"testcookie":"testvalue"}
header = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36)"}
s.get("http://www.example.com", cookies=cookie, headers=header)
# Get xsrf code
loginpage = s.get("https://example.com/login/", headers=header)
soup = BeautifulSoup(loginpage.text)
xsrflist = []
source=soup.findAll('input',{"value":True})
for sources in source:
print (sources['value'])
xsrflist.append(sources["value"])
xsrf = xsrflist[0]
# Login
payload = {"username" : "usernamel", "password" : "password1", 'anti_xsrf_token' : xsrf}
login = s.post("https://example.com/login/", data=payload, cookies=cookie, headers=header)
print(s.headers)
print (requests.utils.dict_from_cookiejar(s.cookies))
答案 0 :(得分:2)
您无法设置服务器Cookie。当您向服务器发送cookie时,服务器可以执行任何操作,包括忽略它们。
答案 1 :(得分:0)
安装selenium
pip install selenium
这是解决方案。
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('yoururl')
htmlpage = driver.page_source
#do something with htmlpage