panghuahua2017 2022-05-08 02:03 采纳率: 57.1%
浏览 67
已结题

python 爬虫使用token无法登录

手动用浏览器登录目标网址后,
把响应数据里的token复制出来,
再复制到python的请求头里,
之后用python对某页面发起请求,
可以正常得到相应数据。


但是直接用python登录,获取到token后,

添加到请求头,
无法继续对后续的页面发起请求,响应代码500,
一般这是什么原因引起的呢?
该往哪个方向排查?


python登录和浏览器手动登录,
用的一模一样的请求头,
并且服务器响应的格式完全相同,
响应内容包括token看起来也没问题。

  • 写回答

6条回答 默认 最新

  • hyh123a 全栈领域新星创作者 2022-05-08 07:50
    关注

    500的响应头 默认是服务器端错误,
    核对下面信息:

    • 请求头
    • Payload
    • 响应格式

    既然请求头 和 响应格式,你核对过了完全相同,那么就再核对下payload。
    如果还是不行,如下所示。


    其实如果你可以看到服务器端的输出日志的话,你可以看下500的具体报错是什么,
    这种一般是服务器端接口代码逻辑报错,比如有传输过来的数据类型异常或者其它异常处理没考虑到导致的。
    这样可以直接定位到具体的错误处,从而定位到具体的请求的错误原因


    可以用下面方式检查下
    1、下载POSTMAN,模拟请求,检查是否正确,如果模拟成功,进行下一步。
    2、POSTMAN支持输出为CODE,支持Python requests格式的导出,复制粘贴后可以直接运行。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 5月20日
  • 已采纳回答 5月12日
  • 创建了问题 5月8日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度