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来自该测试的
、表单数据
和标题
?