-1

これが私のPythonコードです。このウェブサイトにPythonでログインしたいのですが、実現できません。

 import sys, time, os, re
 import urllib, urllib2, cookielib

 loginurl = 'https://auth.dxy.cn/login?null'
 #loginurl = 'https://www.douban.com/accounts/login'

 cookie = cookielib.CookieJar()
 opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
 urllib2.install_opener(opener)

 params = {
         'username' : 'XXXX',
         'password' : 'XXXX',
         'lt' : '_c573C07C4-AD13-CD25-85E9-CC917AF0433F_k42B35CAA-C2E7-7B2C-A7A1-9FD4E6CBE30F',
         '_eventId' : 'submit'
         }

 req = urllib2.Request(loginurl,urllib.urlencode(params))
 res = urllib2.urlopen(req).read()
 m = re.search(r'\s+(.+?)\s+',str(cookie))
 jsession=re.sub(r'\s+', '', m.group(0))
 #print jsession

 header={'Cookie':jsession}
 #response=opener.open(req).read()
 req1 = urllib2.Request(loginurl,urllib.urlencode(params),header)
 res1 = urllib2.urlopen(req1)
 print res1.geturl()

 response1=opener.open(res1.geturl())
 print response1.read()
4

1 に答える 1

0

ユーザーエージェントの問題が原因で、以前にも同様の問題が発生しました。(選択したブラウザを介して)通常どおりログインして、送信されるヘッダー情報を確認してください。スクリプトでそれを模倣してみてください。

ヘッダーの設定方法がわからない場合は、次のことを確認してください。urllib2オープナーにヘッダーを追加するにはどうすればよいですか。

于 2012-08-21T08:46:52.713 に答える