Python:如何从请求头中提取值?
我正在尝试使用python请求登录到。我首先需要获得访客ID,作为登录请求的电子发布URL的一部分 我唯一能找到访客ID的地方是请求标题或从名为session.html的子文档请求cookie(倒数第二行): 以下是我访问session.html的代码:Python:如何从请求头中提取值?,python,python-requests,Python,Python Requests,我正在尝试使用python请求登录到。我首先需要获得访客ID,作为登录请求的电子发布URL的一部分 我唯一能找到访客ID的地方是请求标题或从名为session.html的子文档请求cookie(倒数第二行): 以下是我访问session.html的代码: def nike(): headers = { 'Host': 'unite.nike.com', 'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_
def nike():
headers = {
'Host': 'unite.nike.com',
'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'en-US,en;q=0.5',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive',
'Referer': 'https://www.nike.com/',
'Upgrade-Insecure-Requests': '1',
'DNT': '1'
}
s = requests.Session()
sessionresp = s.get("https://unite.nike.com/session.html", headers=headers)
print(sessionresp.cookies)
nike()
但这段代码只提取响应cookies。我不知道如何访问请求头或请求cookie。如何访问请求Cookie或标头以便提取访客ID
我还将包括显示访客ID的登录参数:
Query String
appVersion 660
experienceVersion 660
uxid com.nike.commerce.nikedotcom.web
locale en_US
backendEnvironment identity
browser
os Linux x86_64
mobile false
native false
visit 1
visitor 3e79f5a6-e054-410e-83a1-f988971689dc2
JSON
client_id HlHa2Cje3ctlaOqnxvgZXNaA89089nAuH
grant_type password
password password
username user
ux_id com.nike.commerce.nikedotcom.web
我已经检查了
visitData
标题。实际上等于X-Request-Id
检查以下内容:
因此,您可以通过以下方式获得:
import requests
r = requests.get('https://www.nike.com/')
print(r.headers['X-Request-Id'])
您现在所需要的就是使用
requests.Session()
您不提供请求头吗?那么你会知道它的价值吗?如果您没有提供请求标头或Cookie,那么它不存在。您是否可能正在查找响应标头?因为您是提供请求头的人。@Smitty那么您只需要访客id?很好,它会在浏览器中显示出来。我需要找到它的来源,这就是为什么我被难住了。@Smitty我将在几秒钟内添加我的答案。它的格式相同,但似乎是一个不同的数字。如果你检查session.html,它是一个不同的数字(除非我遗漏了什么)。x-request-id:c2749130-1e8e-11ea-b45f-eb7c9ecaa9f4{“访问”:“1”,“访问者”:“3e79f5a6-e054-410e-83a1-fbd911689dc2”}我熟悉使用会话登录,只是找不到访问者id。据我所知,x-request-id和访问者id不是一回事。不一定,我知道它可能在其他地方用不同的名字。我在找号码的来源。我可以用它找到很多请求头,但没有响应。
import requests
r = requests.get('https://www.nike.com/')
print(r.headers['X-Request-Id'])