在Cookie中添加参数 - Python Requests库

0 投票
1 回答
934 浏览
提问于 2025-04-18 07:48

我正在使用Python的Requests库进行一些网页抓取。我使用Session()对象来保持在一系列HTTP GET和POST请求中的会话。

我需要发送一个这样的HTTP POST请求:

POST http://www.examplesite.com/login HTTP/1.1
Host: www.examplesite.com
Proxy-Connection: keep-alive
Content-Length: 126
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://www.examplesite.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: http://www.examplesite.com/anon
Accept-Encoding: sdch
Accept-Language: en-US,en;q=0.8
Cookie: SESS01be97003f5147af7927b0548df40bcd=qud5ra51jmtf9opnihn6tct2v0; has_js=1

我需要在Requests会话的cookie对象中添加一个参数has_js=1。但是我找不到关于这个具体需求的任何信息。如果有人能帮忙,我将非常感激!

1 个回答

1

has_js=1 只是一个普通的 cookie 名称和值的组合(很可能是一个 Drupal 的 JavaScript 探测 cookie)。

你浏览器发送的所有 cookie 都会合并在一个 Cookie 头信息里,用 ; 分号分开。cookie 的参数是 Set-Cookie 头信息的一部分,用来影响浏览器在存储这些值时的行为,而这些参数不会出现在发送回服务器的 Cookie 头信息中。

你可以直接把它添加到你的会话中:

session.cookies['has_js'] = '1'

撰写回答