2

私は最近、SOの助けを借りてこれを書きました。誰かが実際にボードにログオンする方法を教えてください。ログインしていない形式ですべてを表示します。

import urllib2, re
import urllib, re
logindata = urllib.urlencode({'username': 'x', 'password': 'y'})
page = urllib2.urlopen("http://www.woarl.com/board/index.php", logindata)
pagesource = page.read()
print pagesource
4

4 に答える 4

4

最近、あなたと同じ質問をした人がいます。その質問への回答を読むと、標準ライブラリ内のもののみを使用して Python スクリプトでサイトを閲覧している間、ログイン状態を維持する方法を示すコード例が表示されます。

受け入れられた回答は、リダイレクトに関連する特定の問題を扱っているため、受け入れられた回答はこの他の回答ほど役に立たない可能性があります。ただし、関係なく、すべての回答を読むことをお勧めします。

于 2008-11-26T18:06:45.320 に答える
3

おそらく、サーバーからの Cookie を保持することを検討する必要があります。

PycurlまたはMechanizeを使用すると、これがはるかに簡単になります

于 2008-11-26T18:02:14.843 に答える
1

実際にページを見ると、ログイン リンクからhttp://www.woarl.com/board/ucp.php?mode=loginに移動していることがわかります。

そのページにはログイン フォームがあり、POST で再度http://www.woarl.com/board/ucp.php?mode=loginに送信します。

次に、おそらく設定されている Cookie を抽出し、それらを CookieJar などに配置する必要があります。

于 2008-11-26T18:08:05.830 に答える
0

これらのハンドラーを使用してオープナーを作成し、それを urllib2 に適用することをお勧めします。これらが適用されると、Cookie が処理され、サーバーが別の場所に移動する必要があると判断した場合、リダイレクトされます。

# Create handlers
cookieHandler = urllib2.HTTPCookieProcessor() # Needed for cookie handling
redirectionHandler = urllib2.HTTPRedirectHandler() # needed for redirection (not needed for javascript redirect?)

# Create opener
opener = urllib2.build_opener(cookieHandler,redirectionHandler)

# Install the opener
urllib2.install_opener(opener)
于 2008-11-27T03:46:52.667 に答える