title: Weird behaviour in required headers to access Amazon
body: <p>I came across this weird behaviour that I have not encountered before while trying to access Amazon using <code>requests</code>.</p>
  <p>Have a look at this code I initially used to access the website</p>
  <pre><code>from bs4 import BeautifulSoup
  import requests
  
  headers = {
      'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Mobile Safari/537.36'
      }
  
  url = &quot;https://www.amazon.com&quot;
  
  r = requests.get(url, headers=headers)
  soup = BeautifulSoup(r.content, &quot;html.parser&quot;)
  </code></pre>
  <p>In the response I got, there is a comment saying:</p>
  <blockquote>
  <p>To discuss automated access to Amazon data please contact
  api-services-support@amazon.com.
  For information about migrating to our APIs refer to our Marketplace APIs at <a href="https://developer.amazonservices.com/ref=rm_c_sv" rel="nofollow noreferrer">https://developer.amazonservices.com/ref=rm_c_sv</a>,
  or our Product Advertising API at
  <a href="https://affiliate-program.amazon.com/gp/advertising/api/detail/main.html/ref=rm_c_ac" rel="nofollow noreferrer">https://affiliate-program.amazon.com/gp/advertising/api/detail/main.html/ref=rm_c_ac</a>
  for advertising use cases.</p>
  </blockquote>
  <p>Now, the part that I cannot explain is when I pass some nonsense in the <code>headers</code>, I can access the page perfectly fine. See example below</p>
  <pre><code>headers = {
      'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Mobile Safari/537.36',
      'some': 'nonsense'
      }
  </code></pre>
  <p>Why is this nonsense parameter necessary to pass in the <code>headers</code> in order to access Amazon and is it possible to access it without this nonsense parameter?</p>