Python で特定のリダイレクトを処理できません。どうやら読み込まれてすぐに ww1.www.com にリダイレクトされるページをリクエストしています。ヘッダー/ステータス コードを返すことを知っているすべての方法を試し、常に適切な結果 (ステータス コード: 200、適切なホスト/リファラー パラメータなど) になるため、これが当てはまると思います。
ここに私が持っているものがあります:
from BeautifulSoup import BeautifulSoup
import urllib
import psycopg2
import psycopg2.extras
db = psycopg2.connect(
host = 'myIP'
database = 'myDATABASE'
user = 'myUSERNAME'
password = 'myPASSWORD'
)
cursor = db.cursor(cursor_factory = psycopg2.extras.RealDictCursor)
cursor.execute("SELECT info FROM table")
for row in cursor:
url = 'http://www.website.com/' + row['info']
file_pointer = urllib.urlopen(url)
html_object = BeautifulSoup(file_pointer)
if file_pointer.getcode() != 200:
continue
if ステートメントは、ステータス コードが 200 に等しくない場合、それ以上コードが実行されないようにする必要がありますが、このセクションの後のコードでインデックス エラーが発生し、エラーを提供する URL を調査した後、エラーを表示せずにリダイレクトすることがわかりました。ステータス コード: 302。
リダイレクト中に 200 ステータス コード応答が返される理由について何か考えはありますか? (urllib2 と httplib で同等のものも試しました) また、どうすればこれを防ぐことができますか?