Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python请求创建Cookie失败_Python_Python 2.7_Cookies_Python Requests_Robobrowser - Fatal编程技术网

Python请求创建Cookie失败

Python请求创建Cookie失败,python,python-2.7,cookies,python-requests,robobrowser,Python,Python 2.7,Cookies,Python Requests,Robobrowser,我正在尝试将弹出表单的数据发布到本地网站。为此,我模拟了站点提供的请求头、数据和cookie信息。(注意:我主要是从代码中修改我的电子邮件和密码(出于明显的原因),但所有其他代码将保持不变。) 我尝试了cookie、头、请求、数据等的多种排列。此外,我在网络检查器中验证了cookie以及预期的头和数据。我可以很容易地设置一个饼干使用。我无法解释为什么我的代码不能在一个实时站点上运行,如果有任何帮助,我将不胜感激。有关更多详细信息,请参阅以下代码 import requests import ro

我正在尝试将弹出表单的数据发布到本地网站。为此,我模拟了站点提供的请求头、数据和cookie信息。(注意:我主要是从代码中修改我的电子邮件和密码(出于明显的原因),但所有其他代码将保持不变。)

我尝试了cookie、头、请求、数据等的多种排列。此外,我在网络检查器中验证了cookie以及预期的头和数据。我可以很容易地设置一个饼干使用。我无法解释为什么我的代码不能在一个实时站点上运行,如果有任何帮助,我将不胜感激。有关更多详细信息,请参阅以下代码

import requests
import robobrowser
import json

br = robobrowser.RoboBrowser(user_agent="Windows Chrome",history=True)

url = "http://posting.cityweekly.net/gyrobase/API/Login/CookieV2"
data ={"passwordChallengeResponse":"....._SYGwbDLkSyU5gYKGg",
        "email": "<email>%40bu.edu",
        "ttl":"129600",
        "sessionOnly": "1"
        }
headers = {
    "Origin": "http://posting.cityweekly.net",
    "Accept-Encoding": "gzip, deflate",
    "Accept-Language": "en-US,en;q=0.8,ru;q=0.6",
    "User-Agent": "Windows Chrome", #"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36",
    "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    "Referer": "http://posting.cityweekly.net/utah/Events/AddEvent",
    "X-Requested-With": "XMLHttpRequest",
    "Connection": "keep-alive",
    "Cache-Control": "max-age=0",
    "Host":"posting.cityweekly.net"

}
cookie = {"Cookie": "__utma=25975215.1299783561.1416894918.1416894918.1416897574.2; __utmc=25975215; __utmz=25975215.1416894918.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __qca=P0-2083194243-1416894918675; __gads=ID=e3b24038c9228b00:T=1416894918:S=ALNI_MY7ewizuxK0oISnqPJWlLDAeKFMmw; _cb_ls=1; _chartbeat2=D6vh2H_ZbNJDycc-t.1416894962025.1416897589974.1; __utmb=25975215.3.10.1416897574; __utmt=1"}
r = br.session.get(url, data=json.dumps(data), cookies=cookie, headers=headers)
print r.headers
print [item for item in r.cookies.__dict__.items()]
导入请求
导入机器人浏览器
导入json
br=robobrowser.robobrowser(user\u agent=“Windows Chrome”,history=True)
url=”http://posting.cityweekly.net/gyrobase/API/Login/CookieV2"
数据={“passwordChallengeResponse”:“…..SYGwbDLkSyU5gYKGg”,
“电子邮件”:“%40bu.edu”,
“ttl”:“129600”,
“仅限会话”:“1”
}
标题={
“来源”:http://posting.cityweekly.net",
“接受编码”:“gzip,deflate”,
“接受语言”:“en-US,en;q=0.8,ru;q=0.6”,
“用户代理”:“Windows Chrome”,“Mozilla/5.0(Windows NT 6.3;WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/39.0.2171.65 Safari/537.36”,
“内容类型”:“application/x-www-form-urlencoded;charset=UTF-8”,
“接受”:“text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8”,
“推荐人”:http://posting.cityweekly.net/utah/Events/AddEvent",
“X-request-With”:“XMLHttpRequest”,
“连接”:“保持活动状态”,
“缓存控制”:“最大年龄=0”,
“主机”:“posting.cityweekly.net”
}
cookie={“cookie”:“uuuUTMA=25975215.1299783561.1416894918.1416894918.1416897574.2;uuuuUTMC=25975215;uuUTMZ=25975215.1416894918.1.1.utmcsr=(直接)| UTMCN=(直接)| utmcmd=(无)qca=P0-2083194243-1416894918675;gads=ID=e3b24038c9228b00:T=1416894918:S=ALNImy7ewizuxk0oisnqpjwldaekfmw;cbls=1;chartbeat2=D6VH2HzbjDjDYCC-T.1416894962025.1416897589974.1;utmb=25975215.3.10.14197574;mt
r=br.session.get(url,data=json.dumps(data),cookies=cookie,headers=headers)
打印右标题
打印[r.cookies中项目的项目。\u dict\u.items()]

请注意,我打印了cookies对象,cookies属性(字典)为空。

您需要执行POST才能登录到站点。一旦你这么做了,我相信cookies就会有正确的值(不是100%的值…)。这说明了如何正确设置cookie


注意:我认为您不需要额外导入请求,除非您在RoboBrowser之外使用它。

欢迎使用StackOverflow。您的答案最终进入了“极低质量帖子评论”队列,因为它看起来像是一条寻求澄清的评论,而不是一个实际的答案。然而,我可以看到你提供了实际的答案:他们需要使用POST。您可能希望重新表述您的答案,使其看起来不像一个问题或评论,以免有人无意中删除它。