2017-08-22 21 views
0

Pythonでは、requests.Session()でリクエストを行う特定のWebサイトについて、headersと​​の情報をどのように入手できますか?Python:requests.Session()のヘッダーとペイロード情報を取得する方法

例えば:

headers = { 
      'Host': 'www.testsite.com', 
      'Accept': 'application/json', 
      'Proxy-Connection': 'keep-alive', 
      'X-Requested-With': 'XMLHttpRequest', 
      'Accept-Encoding': 'gzip, deflate', 
      'Accept-Language': 'en-us', 
      'Content-Type': 'application/x-www-form-urlencoded', 
      'Origin': 'http://www.testsite.com', 
      'Connection': 'keep-alive', 
      'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11D257', 
      'Referer': 'http://www.testsite.com/mobile' 
} 

は、事前にありがとうとこれらのヘッダのほとんどは自動的にrequestsモジュールによって供給されている答え

+0

あなたが好きなように、独自のヘッダを構築し、私はあなたが何を意味するかわからないんだけど"どのようにヘッダを取得するのですか?" 「ホストがどのようなヘッダを受け取るべきかをどのように発見するのですか? –

答えて

0

をupvoteして受け入れるようにしてくださいます。

import requests 
from pprint import pprint 

with requests.Session() as s: 
    s.get('http://httpbin.org/cookies/set?name=joe') 
    r = s.get('http://httpbin.org/cookies') 
    pprint(dict(r.request.headers)) 

assert r.json()['cookies']['name'] == 'joe' 

pprint()コールの出力はこれです:

{'Accept': '*/*', 
'Accept-Encoding': 'gzip, deflate', 
'Connection': 'keep-alive', 
'Cookie': 'name=joe', 
'User-Agent': 'python-requests/2.9.1'} 

あなたが見ることができるように、s.get()はいくつかのヘッダに埋めここでは一例です。

+0

お返事ありがとうございます!特定のルートのペイロードについてはどうでしょうか。 'http:// www.testsite.com/students.json'を参照してください。そして、最初にどのルートがサイトで利用可能であるかを実際に調べるにはどうすればよいですか?そして、なぜそれが持っているのですか? 'students.json'? –

+0

あなたが言っているURLは本当ではないと確信しています。使用している実際のURLを教えていただければ、皆さんが助けてくれるかもしれません。例えば、 –

+0

。 'https:// shop-usa.palaceskateboards.com/collections/hardware''私は' Network'の下でgoogle devツールをチェックしましたが、なぜ彼らがどこにAPI呼び出しをしているのか、jsonデータを取得してページに入れるのか商品とは? –

0

responseオブジェクトはheadersの属性があります。

import requests 

with requests.Session() as s: 
    r = s.get("http://google.es") 
    print(r.headers) 

出力:

>> { 
    'Date': 'Tue, 22 Aug 2017 00:37:13 GMT', 
    'Expires': '-1', 
    'Cache-Control': 'private, 
    max-age=0', 
    'Content-Type': 'text/html; charset=ISO-8859-1', 
    ... 
    } 
+0

は応答を感謝します!特定のルートのペイロードについてはどうでしょうか。 'http:// www.testsite.com/students.json'を参照してください。そして、最初にどのルートがサイトで利用可能であるかを実際に調べるにはどうすればよいですか?そして、なぜそれが持っているのですか? 'students.json'? –

関連する問題