Cookies 饼干在<;刮毛请求>;似乎不起作用

Cookies 饼干在<;刮毛请求>;似乎不起作用,cookies,scrapy,request,Cookies,Scrapy,Request,我正在写一个,在中成功登录后,我尝试通过的响应发送一个。 我从的响应中获得cookies,并尝试将cookies添加到,但失败,导致重定向到登录页面 #以下是'parse_login()之后的方法` #表单数据 def查询表单(self,response:scrapy.http.response): url='1〕http://dev.soeasysdk.com/productProfit/issueCount2.do' cookies={ '姓名':'joe@stackoverflow.com

我正在写一个
,在
中成功登录后,我尝试通过
的响应发送一个
。 我从
的响应中获得cookies,并尝试将cookies添加到
,但失败,导致重定向到登录页面

#以下是'parse_login()之后的方法`
#表单数据
def查询表单(self,response:scrapy.http.response):
url='1〕http://dev.soeasysdk.com/productProfit/issueCount2.do'
cookies={
'姓名':'joe@stackoverflow.com',
“JSESSIONID”:“…”,
}
返回[格式请求](
url=url,
饼干=饼干,
meta={'cookiejar':response.meta['cookiejar']},
方法='POST',
headers=self.headers,
formdata={
“应用程序名称”:“,
“开始日期”:str(self.start\u date),
“结束日期”:str(自我开始日期),
},
回调=self.parse_页,
Don_filter=True
)]
#这是控制台日志
调试[19-10-21 14:47:54]scrapy.downloadermiddleware.redirect\u redirect:43重定向(302)到
#从预期的url重定向到登录页面,正如我在PostMan和shell中所想和测试的那样,这是在提供错误的cookie或没有cookie时发生的

但是当我在带有cookies的shell中尝试
curl
时,我可以直接获得页面内容,而不是登录页面

url='1〕http://dev.soeasysdk.com/productProfit/issueCount2.do'
cookies={
'姓名':'joe@stackoverflow.com',
“JSESSIONID”:“…”,
}
res=requests.request(method='POST',cookies=cookies,url=url)
打印(存储cookies)
打印(存储内容)
打印(res.text)
curl-v--cookie”名称=joe@stackoverflow.com;JSSessionID=…”http://dev.soeasysdk.com/productProfit/issueCount2.do
指向表单查询的url链接,登录时允许访问


谢谢你的帮助

您是否尝试过使用与请求和curl测试相同的数据手动构建
请求
?(没有cookiejar,没有
FormRequest
但是只有
method='POST'
等等?你能一个接一个地向我们展示你的请求和类似的东西,看看它们有什么不同吗?@Gallaecio Hi!谢谢你的建议,我已经编辑了我的帖子,表单数据对请求结果没有影响。相当于
requests.request(method='POST',cookies=cookies,url=url)
请求(url,method='POST',cookies=cookies)
。这应该与您的
请求相同。请求
示例。是吗?@Gallaecio是的,我尝试过,在
scrapy.request
scrapy.FormRequest
中添加
cookies=cookies
,但都不起作用。我还尝试更改
设置.py
,但也失败了。您是否也删除了
met来自该测试的
表单数据
标题
?您是否尝试过使用与请求和curl测试相同的数据手动构建
请求
?(没有cookiejar,没有
FormRequest
但是只有
method='POST'
等等?你能一个接一个地向我们展示你的请求和类似的东西,看看它们有什么不同吗?@Gallaecio Hi!谢谢你的建议,我已经编辑了我的帖子,表单数据对请求结果没有影响。相当于
requests.request(method='POST',cookies=cookies,url=url)
请求(url,method='POST',cookies=cookies)
。这应该与您的
请求相同。请求
示例。是吗?@Gallaecio是的,我尝试过,在
scrapy.request
scrapy.FormRequest
中添加
cookies=cookies
,但都不起作用。我还尝试更改
设置.py
,但也失败了。您是否也删除了
met来自该测试的
表单数据
标题