<p dir="auto">Please see an example below.  Should it generate same fingerprint?  Thanks.</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="from scrapy.http import Request
from scrapy.utils.request import request_fingerprint

r1 = Request(&quot;http://www.example.com/123&quot;)
r2 = Request(&quot;http://example.com/123&quot;)

print request_fingerprint(r1)
print request_fingerprint(r2)"><pre class="notranslate"><span class="pl-k">from</span> <span class="pl-s1">scrapy</span>.<span class="pl-s1">http</span> <span class="pl-k">import</span> <span class="pl-v">Request</span>
<span class="pl-k">from</span> <span class="pl-s1">scrapy</span>.<span class="pl-s1">utils</span>.<span class="pl-s1">request</span> <span class="pl-k">import</span> <span class="pl-s1">request_fingerprint</span>

<span class="pl-s1">r1</span> <span class="pl-c1">=</span> <span class="pl-v">Request</span>(<span class="pl-s">"http://www.example.com/123"</span>)
<span class="pl-s1">r2</span> <span class="pl-c1">=</span> <span class="pl-v">Request</span>(<span class="pl-s">"http://example.com/123"</span>)

<span class="pl-k">print</span> <span class="pl-en">request_fingerprint</span>(<span class="pl-s1">r1</span>)
<span class="pl-k">print</span> <span class="pl-en">request_fingerprint</span>(<span class="pl-s1">r2</span>)</pre></div>
<p dir="auto">1577e4ad857665390d44cd04a638104d0575d903<br>
a907c28bf08125b8a87535a117c2d8a4a629415c</p>
<p dir="auto">Currently when image download encounters redirect download fails. This is probably <a href="https://github.com/scrapy/scrapy/blob/master/scrapy/pipelines/media.py#L106">because of this line that sets handle_httpstatus_all</a>. As a result image download handler gets to process response with status 3** and usually empty body, it is not able to download image, it fails. Is this expected behavior? Why not follow redirect in case like this?</p>