title: Multiple requests over a Rauth OAuth 1.0 session
body: <p>We're using <a href="https://rauth.readthedocs.org/en/latest/api/#oauth-1-0-sessions" rel="nofollow">Rauth</a> to connect to various OAuth 1 APIs. It works fine for a single request, but trying to do 2 or more requests against the given session results in 401 not authorized errors from the APIs. </p>
  
  <p><strong>Twitter API example:</strong></p>
  
  <pre><code>import requests
  from rauth import OAuth1Service
  from rauth import OAuth1Session
  
  consumer_key = {the consumer key}
  consumer_secret = {the consumer secret}
  access_token = {the access token}
  access_token_secret = {the access token secret}
  
  oauth_service = OAuth1Service(consumer_key = consumer_key, 
                              consumer_secret = consumer_secret)
  oauth_session = oauth_service.get_session(token = (access_token, access_secret))
  
  url = 'https://api.twitter.com/1.1/statuses/home_timeline.json'
  params = {'include_rts': 'true'}
  r = oauth_session.get(url, params=params) # THIS WORKS
  r = oauth_session.get(url, params=params) # THIS RETURNS 401 ERROR
  </code></pre>
  
  <p>This happens on both Twitter and LinkedIn APIs. How do we execute multiple requests against a single <code>OAuth1Session</code> object?</p>
  
  <p><strong>VERSIONS:</strong><br>
  rauth==0.5.4<br>
  requests==1.1.0  </p>
  
  <hr>
  
  <h2>UPDATE:</h2>
  
  <p>Strangely, if the <code>params</code> argument is not included then multiple requests can be made- but once <code>params</code> are included, even if it is an empty dict, we get 401s.</p>
  
  <p><strong>Example 1:</strong></p>
  
  <pre><code>r = oauth_session.get(url) # THIS WORKS
  r = oauth_session.get(url) # THIS WORKS
  </code></pre>
  
  <p><strong>Example 2:</strong></p>
  
  <pre><code>r = oauth_session.get(url, params={}) # THIS WORKS
  r = oauth_session.get(url, params={}) # THIS RETURNS 401 ERROR
  </code></pre>