title: pip install urllib3 hanging on "Caching due to etag"
body: <p>Pip install of urllib3 is hanging on "Caching due to etag". I'm building an AWS chalice project that doesn't let you specify --no-cache-dir, so I need to fix the issue without that command. Any ideas? </p>
  
  <p>Using Python 3.6.5 and Pip 10.0.1 in a virtual environment.</p>
  
  <pre><code>(partnerdb-virtualenv) C:\Windows\SysWOW64\partnerdb-project&gt;pip install urllib3 -vvv
  Config variable 'Py_DEBUG' is unset, Python ABI tag may be incorrect
  Config variable 'WITH_PYMALLOC' is unset, Python ABI tag may be incorrect
  Created temporary directory: C:\Users\Matt\AppData\Local\Temp\pip-ephem-wheel-cache-v0e8ikpl
  Created temporary directory: C:\Users\Matt\AppData\Local\Temp\pip-req-tracker-d58lw_h5
  Created requirements tracker 'C:\\Users\\Matt\\AppData\\Local\\Temp\\pip-req-tracker-d58lw_h5'
  Created temporary directory: C:\Users\Matt\AppData\Local\Temp\pip-install-6qpv92ms
  Collecting urllib3
    1 location(s) to search for versions of urllib3:
    * https://pypi.org/simple/urllib3/
    Getting page https://pypi.org/simple/urllib3/
    Looking up "https://pypi.org/simple/urllib3/" in the cache
    Request header has "max_age" as 0, cache bypassed
    Starting new HTTPS connection (1): pypi.org:443
    https://pypi.org:443 "GET /simple/urllib3/ HTTP/1.1" 200 6330
    Updating cache with response from "https://pypi.org/simple/urllib3/"
    Caching due to etag
  </code></pre>
  
  <p>Edit: Based on one of the comments, <code>curl -vvv https://files/pythonhosted.org/</code> returns:</p>
  
  <pre><code>*   Trying 2a04:4e42:2d::319...
  * TCP_NODELAY set
  * Connected to files.pythonhosted.org (2a04:4e42:2d::319) port 443 (#0)
  * schannel: SSL/TLS connection with files.pythonhosted.org port 443 (step 1/3)
  * schannel: checking server certificate revocation
  * schannel: sending initial handshake data: sending 187 bytes...
  * schannel: sent initial handshake data: sent 187 bytes
  * schannel: SSL/TLS connection with files.pythonhosted.org port 443 (step 2/3)
  * schannel: failed to receive handshake, need more data
  * schannel: SSL/TLS connection with files.pythonhosted.org port 443 (step 2/3)
  * schannel: encrypted data got 4096
  * schannel: encrypted data buffer: offset 4096 length 4096
  * schannel: encrypted data length: 4018
  * schannel: encrypted data buffer: offset 4018 length 4096
  * schannel: received incomplete message, need more data
  * schannel: SSL/TLS connection with files.pythonhosted.org port 443 (step 2/3)
  * schannel: encrypted data got 1024
  * schannel: encrypted data buffer: offset 5042 length 5042
  * schannel: encrypted data length: 815
  * schannel: encrypted data buffer: offset 815 length 5042
  * schannel: received incomplete message, need more data
  * schannel: SSL/TLS connection with files.pythonhosted.org port 443 (step 2/3)
  * schannel: encrypted data got 1051
  * schannel: encrypted data buffer: offset 1866 length 5042
  * schannel: sending next handshake data: sending 93 bytes...
  * schannel: SSL/TLS connection with files.pythonhosted.org port 443 (step 2/3)
  * schannel: encrypted data got 258
  * schannel: encrypted data buffer: offset 258 length 5042
  * schannel: SSL/TLS handshake complete
  * schannel: SSL/TLS connection with files.pythonhosted.org port 443 (step 3/3)
  * schannel: stored credential handle in session cache
  &gt; GET / HTTP/1.1
  &gt; Host: files.pythonhosted.org
  &gt; User-Agent: curl/7.55.1
  &gt; Accept: */*
  &gt;
  * schannel: client wants to read 102400 bytes
  * schannel: encdata_buffer resized 103424
  * schannel: encrypted data buffer: offset 0 length 103424
  * schannel: encrypted data got 2412
  * schannel: encrypted data buffer: offset 2412 length 103424
  * schannel: decrypted data length: 2383
  * schannel: decrypted data added: 2383
  * schannel: decrypted data cached: offset 2383 length 102400
  * schannel: encrypted data buffer: offset 0 length 103424
  * schannel: decrypted data buffer: offset 2383 length 102400
  * schannel: schannel_recv cleanup
  * schannel: decrypted data returned 2383
  * schannel: decrypted data buffer: offset 0 length 102400
  &lt; HTTP/1.1 200 OK
  &lt; Content-Type: text/html
  &lt; Server: nginx/1.13.9
  &lt; Content-Length: 1822
  &lt; Accept-Ranges: bytes
  &lt; Date: Thu, 18 Oct 2018 18:18:01 GMT
  &lt; Age: 0
  &lt; Connection: keep-alive
  &lt; X-Served-By: cache-iad2138-IAD, cache-pao17439-PAO
  &lt; X-Cache: HIT, MISS
  &lt; X-Cache-Hits: 1, 0
  &lt; X-Timer: S1539886682.749014,VS0,VE70
  &lt; Vary: Accept-Encoding
  &lt; Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
  &lt; X-Frame-Options: deny
  &lt; X-XSS-Protection: 1; mode=block
  &lt; X-Content-Type-Options: nosniff
  &lt; X-Permitted-Cross-Domain-Policies: none
  &lt; X-Robots-Header: noindex
  &lt;
  &lt;html&gt; ... &lt;/html&gt;
  * Connection #0 to host files.pythonhosted.org left intact
  </code></pre>