요청에 표시되는 헤더를 복제해야합니다. 당신은 응답 헤더를 검사하는 경우
당신은 볼 수 있습니다 : 당신이 당신의 scrapy.Request.headers
속성을 업데이트해야이에서
합니다. 이 값들 중 몇 가지는. 대부분의 경우, 치료가 쿠키 자체를 관리하기 때문에 쿠키를 건너 뛸 수 있으며 일반적으로 이와 같은 ajax 요청에는 의미가 없습니다.
이 경우에는 X-Requested-With
헤더 만 복제하여 성공적인 응답을 얻을 수있었습니다. 이 헤더는 Ajax 요청이 발생했음을 나타 내기 위해 사용됩니다.
당신은 실제로 테스트이 실시간으로 엔지니어링 할 수 있습니다
scrapy shell <url>
# gives you 403
request.headers.update({'X-Requested-With': 'XMLHttpRequest'})
request.headers.update({'User-Agent': <some user agent>})
fetch(request)
# now the request is redownloaded and it's 200!
을