擅长:python、mysql、java
<p>扩展eLRuLL写的东西。在</p>
<p><code>Response</code>和{<cd2>}对象的头都可以通过<code>.headers</code>属性使用。在</p>
<p>两个对象的头都是通过下载器和引擎之间的中间件修改的(请参见<a href="http://doc.scrapy.org/en/latest/topics/architecture.html#architecture-overview" rel="noreferrer">Scrapy Architecture</a>)。如果您创建了一个新的<code>Request</code>对象,它在通过分配它们的中间件之前不会有任何头。在</p>
<p>要查看请求对象,因为它将被发送出去,您将需要创建一个中间件,将它放在比任何其他改变头的中间件更靠近下载程序的地方,然后检查<code>request.headers</code>属性。在</p>
<p>或者,您可以通过查看<code>response.request.headers</code>来检查向Spider返回<code>Response</code>的请求的头。这可能不是您发送的<code>Request</code>对象,而是导致返回的<code>Response</code>对象的对象(例如,重定向/重试导致最初调度的<code>Request</code>对象与<code>response.request</code>中的<code>Request</code>对象不同)。当然,这需要一个<code>Response</code>对象被返回给spider,因此对于没有生成响应的<code>Request</code>或任何通过中间件被忽略或丢弃的{<cd1>}都不起作用(例如HTTP状态400)。在</p>