リクエストしようとしているサンプルURLなど、さらにデータを提供すると便利です。そうは言っても、リダイレクトまたはHTTP 404エラーに依存する次のアルゴリズムを使用して、POSTリクエストの後に正しいURLがあるかどうかを一般的にチェックしているように思われます。
if original_url == returned request url:
correct url to a correctly made request
else:
wrong url and a wrongly made request
この場合、ここでできることは、Pythonのrequests
ライブラリでHTTP HEADリクエスト(GET、POSTなどの別のタイプのHTTPリクエスト)を使用して、ページ本文ではなくヘッダーのみを取得することです。次に、応答コードとリダイレクトURL(存在する場合)をチェックして、有効なURLにリクエストを送信したかどうかを確認します。
例えば:
def attempt_url(url):
'''Checks the url to see if it is valid, or returns a redirect or error.
Returns True if valid, False otherwise.'''
r = requests.head(url)
if r.status_code == 200:
return True
elif r.status_code in (301, 302):
if r.headers['location'] == url:
return True
else:
return False
elif r.status_code == 404:
return False
else:
raise Exception, "A status code we haven't prepared for has arisen!"
これがあなたが探しているものではない場合は、要件に関する追加の詳細が役立ちます。少なくとも、これにより、すべてのページデータを取得することなく、ステータスコードとヘッダーを取得できます。