初学python接口自动化,一些经验总结,希望遇到同样问题的小伙伴能较快解决:
依据项目的实现逻辑,用户发表评论时需检测用户当前为登录状态,即校验cookie。
用户登录后在响应头里可见到Set-cookie字段,此即可作为Cookie用于发表评论请求。
具体代码如下:
发表评论成功!
核心部分为:
session = requests.Session()
cookie_jar = session.post(url,data).cookies
cookie = requests.utils.dict_from_cookiejar(cookie_jar)
通过此方法获取登录响应头中的cookie,并以json格式输出。
-------------关键环节使用postman尝试---------------------
此前各种尝试一直失败(后面会提到过程中遇到的问题),具体是哪里出的问题一直不清晰,是传递的字段名,字段值,content-type不对还是哪里不对导致一直不成功。因为比对charles抓包分别是手动操作及使用python编码请求传递的参数略有不同。
比如,手动操作抓到的cookie值除了USER_SESSION部分,还有一段其他的数据,不知道从哪里获取的。content-type中手动操作的也会多一段charset=UTF-8。请求头中如果不用Cookie,以USER_SESSION为参数名传递是否可以,以及将USER_SESSION=xxxx以等号进行拆分,去掉等号作为参数传递是否