私はこのpageにPythonを使ってログインしようとしています。pythonを使ってウェブサイトにログイン
私はこのother Stack Overflow postに説明した手順を使用してみました、そして次のコードを得た:
import urllib, urllib2, cookielib
username = 'username'
password = 'password'
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'username' : username, 'j_password' : password})
opener.open('http://friends.cisv.org/index.cfm', login_data)
resp = opener.open('http://friends.cisv.org/index.cfm?fuseaction=activities.list')
print resp.read()
をそれは私に次のような出力が得られた:
<SCRIPT LANGUAGE="JavaScript">
alert('Sorry. You need to log back in to continue. You will be returned to the home page when you click on OK.');
document.location.href='index.cfm';
</SCRIPT>
は私が間違って何をやっているの?
処理スクリプトの.cfm拡張子から、実際にこれらのログインを処理するためにColdfusionバックエンドを使用していると仮定します。私たちはそのファイルの内容と手順が何であるかを知る必要があります。応答がPythonに入ってきて、ColdFusionがjavascriptとリダイレクトを返すからです。この問題はserversideであり、pythonクライアントではありません。 – DeaconDesperado
私はOPがウェブサイトを所有しておらず、プログラムとしてユーザーとして対話したいと考えています。ウェブサイトへの認証はまったく問題ありません。ログインするときにどのようなフォームデータが送信され、同じデータが供給されるかを調べるだけで済みます。サーバー側で何が起こっているのかを知る必要はありません。下の私の例を見てください。 – Acorn