HEADリクエストがPython Requests ライブラリを使用して実行された)の結果を解析しようとしていますが、応答コンテンツにアクセスします。
docs によると、requests.Response.textからコンテンツにアクセスできるはずです。これはGETリクエストでは問題なく機能しますが、HEADリクエストではNoneを返します。
GETリクエスト(動作)
import requests
response = requests.get(url)
content = response.text
コンテンツ= <html>...</html>
HEADリクエスト(コンテンツなし)
import requests
response = requests.head(url)
content = response.text
content = None
[〜#〜]編集[〜#〜]
OK私は答えから、HEADリクエストはコンテンツのみのヘッダーを返すことは想定されていません。しかし、それは<head>
タグで見つかったものにアクセスすることを意味します。 <link>
タグや<meta>
タグのようなページの場合、ドキュメント全体を取得する必要がありますか?
definition までに、HEADリクエストへの応答には、メッセージ本文が含まれていません。
応答本文を取得したい場合は、GETリクエストを送信してください。 HEAD request iff あなたは応答ステータスコードとヘッダーだけに興味があります。
HTTPは任意のコンテンツを転送します。 HTTP用語headerはHTMLとは完全に無関係です<head>
。ただし、HTTPは、ドキュメントの一部のみをダウンロードするようにアドバイスできます。 HTMLの長さがわかっている場合<head>
コード(またはその上限)では、リクエストに HTTP Range ヘッダーを含めて、リモートサーバーに特定のバイト数のみを返すようにアドバイスできます。リモートサーバーがHTTP範囲をサポートしている場合は、縮小された回答を提供します。
A HEADにはコンテンツがありません!response.headers
を試してください-おそらくアクションが行われる場所です。HTTPHEADリクエストはGETリクエストから取得するHTML応答の<head>
要素。それはあなたの間違いだと思います。
HEAD応答には本体がありません。 GETリクエストを使用した場合と同じように、HTTPヘッダーのみを返します。