首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取登录后的标题?

如何获取登录后的标题?
EN

Stack Overflow用户
提问于 2019-06-24 00:38:27
回答 1查看 1.2K关注 0票数 1

我正在尝试创建一个机器人,以便在需要登录的平台上发布消息。我在网上读过几篇文章,但我不知道python请求中的头到底代表什么,以及如何获得它们?

我已经手动登录到该网站,并在检查控制台网络时发布了一条消息,并成功地将POST请求复制为cURL,而不是翻译成python语言。有人能解释一下标题是如何工作的,以及如何得到它们吗?

我从铬控制台复制的标题:

代码语言:javascript
复制
headers = {
    'cookie': 'JSESSIONID=523C2995451CCFC988FA097A85632B9F; csc=dom-use-prodwebapp-179.use.dom.carezen.net1560960000972; vc=9370b249-7a51-4291-a110-02332dffb2ed; n_vis=dom-use-prodwebapp-179.use.dom.carezen.net1560960000972; ROUTE2=d; _ga=GA1.2.1838448005.1560965623; _gid=GA1.2.1576009381.1560965623; mt.v=2.731501753.1560965623252; cto_lwid=44716745-0481-4223-9806-1c8201aa7991; mc_verify=EhAKEmJAM*EZDfeHJUUii1Eux5dvDMmMg3SVX4ULbB0Wo9KwYWs0EFCC67pzqF0bbSgcUFvmuwI11qh3FviCXA..; intl_src=en-us; mt.SFT-MT=1; __ssid=aae0f1f68f4613a358d86a8f63a09de; _RCRTX03=c43b78bb8e3a11e9b59929e665754f78129a93e4862141c5980f155f5ed6f58b; eps="my account login"; _derived_epik=dj0yJnU9dGV3b3FwcER6amNITHQ4QUZiT1J4R0R2clg4MXZRQ18mbj0wVVZBVnZQU3dNS1lpY2JhYnBBV0N3Jm09NyZ0PUFBQUFBRjBMdjhr; mc=EhAKEmJAM%2BEZDfeHJUUii1Eux5dvDMmMg3SVX4ULbB0Wo9KwYWs0EFCC67pzqF0bbSgcUFvmuwI11qh3FviCXA%3D%3D; acs=L*UOHh2C8Xu*9PW02_*Ce6Oew*wRMnFB*b*Qsz7HT9Y.jx4xikhj-4e1e1h; ac=cqPM063k4O*PXdlekY6XiyEVjlI*XVG6roI0_mAVmyg.jx4xikhj-4e1e1h; _sp_id.6a17=bf7adf7e-f56d-4650-bbea-4b53734ea73a.1560965625.8.1561051105.1561010531.241ccbe8-ce5e-4bcf-9b3f-141aabf54e07; sc=R*5vUnwoNgwLU_TVziElnx8JKylwKx5omqzog5VpI9I.; n_tc=7416%7C2416%7C7467%7C7440%7C2127%7C2420%7C1871%7C2048%7C7300%7C7327%7C7375%7C7350%7C7261%7C1831%7C1311; lad="MTU2MTE0NTAzNTUyOQ=="; mt.c-lbx=20; bm_mi=F090A5625A4531D6A7A7BB9138A5C9D4~pdxKboVGxB7WtFWaP+KaJUI1bIO+hVzIOI6nj2028m79PR2Who3cXsYnvNJorc+JQ34bfEBpHtFlwWwDOfyaumh2UGIySCUgyBdw5hBDPArAHcnFCFp5cUDEzqlkAfhapH9eFeRxibJptHA3W5aYc3eNV/3tuOF1FXHkggdo2q+qCxPDTf0Gqeda9uIHN9N0TEABOokZ6+Jrx8hcdXb532A/ZA+bg/+279nh8M2gyGeocabQPdA8dxDZYYl4ASUcE3am4m9N5lEYPwS0knreOeVNkgD0lgcAeV7JapnNomVgOuSaqAnvzHtS3dJXQDfC; JSESSIONID=9D4B710D8379B4937BD45A70627E5298; utag_main=v_id:016b70cd30210012bce5d51584b403079001507100838$_sn:12$_ss:1$_st:1561158651946$ses_id:1561156851946%3Bexp-session$_pn:1%3Bexp-session; frsc=GDyIv*zSQoZ2l6K1jH9Xx1sPNSV3iBJvNL8amV_WBH5sVhc*Q1JpMMRXyfEI0alR-ZFKUaOP26pEkcsUJT0o7NA..; AKA_A2=A; _gat=1; RT=""; amplitude_id_49ee77491a2b775cf48ecf4a55ce04c5care.com=eyJkZXZpY2VJZCI6IjEwZmZlNzk5LWY1NmItNDk4Ny04ZjM2LWIwOGQzYmEzZTYyNFIiLCJ1c2VySWQiOiI0MTM1MjIyOCIsIm9wdE91dCI6ZmFsc2UsInNlc3Npb25JZCI6MTU2MTE1Njg1MTU5MSwibGFzdEV2ZW50VGltZSI6MTU2MTE1OTI2NzQyNywiZXZlbnRJZCI6MjM5LCJpZGVudGlmeUlkIjo3Mywic2VxdWVuY2VOdW1iZXIiOjMxMn0=; ak_bmsc=2AFD7877A475A73646F14141938506F417D70A16856A00009A530D5DEEDD997A~plIddhcnR68Lv1XFm6VH5v+6Vi9hZSBjDY4l4AezuMSv5OC7k9RFzk+DI6ZhTMFpDp6CeyyW/uQhL2pmxZewAmktRfdMBvwfNyiNid/q5USAfuuW+rEBBA2w1VPtTXP3yCptKtS1uij3dnMb3Ua//MwDCbCZXCbGa0bi9xKhn4C2aGldt72vKtalrUzYXB6AvdvfcEtuoll7bZlfojQ5TcZcsq+BqsFULGshbI++j8ShCHMquc3rNXu3OJRHkU4adHJkT8HSv6INdESgDmMMsbTQ==',
    'owasptoken': 'WJUJ-IN87-VT3V-Z4BA-BXXG-VWWJ-9WM2-D44J',
    'origin': 'https://www. example.com',
    'x-care.com-apikey': 'cmtux62opFFZ8Aov8J0aoJ1zRonczZyqP60pTTURdfIx',
    'accept-language': 'en-GB,en-US;q=0.9,en;q=0.8',
    'x-requested-with': 'XMLHttpRequest',
    'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36',
    'accept-encoding': 'gzip, deflate, br',
    'x-care.com-visitid': '9370b249-7a51-4291-a110-02332dffb2ed',
    'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
    'accept': 'application/json, text/javascript, */*; q=0.01',
    'authority': 'www.example.com',
    'x-care.com-os': 'Desktop',
}
EN

回答 1

Stack Overflow用户

发布于 2019-06-24 14:08:45

如何使用python脚本获取cookie和令牌?

由于没有关于目标站点的详细信息,我可以分享一些关于在python中发出HTTP请求的一般信息。

您应该花一些时间来研究和找到必要的信息,因为这些信息的存储方式很大程度上取决于您的目标站点。

  • cookie是一个特殊的标题。服务器通过在响应头中发送Set-Cookie头来为客户端设置cookie。浏览器以键值对的形式存储这个特定域的所有这些cookie,显然可以在浏览器的设置中观察到。当您执行后续的HTTP请求(例如auth)时,浏览器会在cookie头中为该域发送所有cookie。
  • owasptoken和所有其他只是普通的headers。它们各自的值可以硬编码在页面的js代码中,也可以通过js执行的ajax请求接收。像user-agent这样的东西是由浏览器提供的。同样,这也是一个需要研究的课题。

因此,要获得带有请求库的cookie,您可能应该在目标页面上调用一个GET,并从响应中保存一个cookie:

代码语言:javascript
复制
import requests  # pip3 install requests

url = "http://www......."  # probably login page
r = requests.get(url, headers={"User-Agent": "Mozilla/5.0......."})
if r.status_code == 200:
    print(r.cookies)
else:  # request failed
    print(r.status_code, r.text)

在单个requests 会话中这样做更容易,因为它可以像浏览器一样保存HTTP请求和自动发送cookie之间的状态。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56728684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档