请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

当cookie_method==write的时候,request请求中的cookie

request请求中的cookie是None吧,这时候发送请求,返回的应该是“请登录”吧,而不会返回cookie吧?这样的话
if get_cookie==None:
res=responst.cookies
这里的res应该是空值吧。写个空值到cookie文件中吗?
看上去,没有cookie的时候,只能往cookie里写空值啊。而有cookie的时候又没必要往cookie文件中写cookie。看上去本节课的代码就没有意义了啊。

图片描述

正在回答 回答被采纳积分+3

1回答

Mushishi 2021-02-07 21:27:38

你看 如果我们cookie_method 是write得时候就告诉你要去获取复入段cookie。也就是 我们这里get_cookie有默认值,再runmain里面他就会:

if get_cookie!=None:
    res=responst.cookies


应该是这样。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕粉1504263447 #1
    res=response.cookies,这个response的值是从哪里来的呢?
    老师的代码:
    response=requests.post(url,data,cookies=cookie)
            if get_cookie!= None:
                 res=response.cookies
    获取response的时候,是先要在requests请求中传入cookies的。但是当cookie_method 是write的时候cookie是None啊,那response.cookies不就是一个空值吗?
    整个操作不变成了往一个对象中传入空的cookie值,然后再从这个对象中把这个空的cookie值取出来了吗?那这个操作有什么意义?
    回复 有任何疑惑可以回复我~ 2021-02-10 11:05:01
  • Mushishi 回复 提问者 慕粉1504263447 #2
    1、response 就是res. 就是requests.post()这个执行了就是response。response=requests.post(url,data,cookies=cookie)
    
    2、你传递进去的cookies是我们有的。但是我们没有的时候正常发送。没有身份验证,那么服务端也没验证。但是登陆肯定没有验证啊。
    回复 有任何疑惑可以回复我~ 2021-02-11 10:27:24
  • 提问者 慕粉1504263447 回复 Mushishi #3
    第二句还是没看懂。
    response=requests.post(url,data,cookies=cookie)的cookies是有的吗?这个cookies是从                              res=request.run_main(method=method,url=url,data=data,cookies=cookie,get_cookie=get_cookie)
    传过来的对吧。
    上面那句代码中的cookies是从               
     if cookie_statues=='yes':
                        cookie=get_cookie_value("web")
    中传过来的对吧。
    但是当if cookie_statues=='write'的时候,这个cookies就不会传过来了对吧。
    也就是response=requests.post(url,data,cookies=cookie)中的cookies是None对吧。
    这个时候requests.post(url,data,cookies=cookie)会返回一个cookie值吗?应该不会吧。
    所以cookie_value_jar=response.cookies其实是获取到的是空值对吧。
    所以write_cookie(cookie_value,get_cookie['is_cookie'])写到存储cookie的文件中的内容也是空值吧。
    也就是程序执行下来,并没有获取到cookie吧?
    回复 有任何疑惑可以回复我~ 2021-02-11 18:56:39
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信