2010-05-23 7 views
0

im en faisant un simple script post python mais ça ne fonctionne pas bien.python urllib post question

il y a 2 parties à se connecter.

première connexion utilise 'http://mybuddy.buddybuddy.co.kr/userinfo/UserInfo.asp' celui-ci.

et deuxième connexion utilise « http://user.buddybuddy.co.kr/usercheck/UserCheckPWExec.asp »

je peux connecter la page de connexion, mais je ne pouvais pas connecter deuxième site de page.

et de retourner une erreur «accès illégal» comme.

J'ai entendu cela est lié à une certaine cooke mais je ne sais pas comment mettre en œuvre pour résoudre ce problème.

si quelqu'un peut m'aider beaucoup apprécié !! Merci!

import re,sys,os,mechanize,urllib,time 
import datetime,socket 


params = urllib.urlencode({'ID':'ph896011', 'PWD':'pk1089' }) 
rq = mechanize.Request("http://mybuddy.buddybuddy.co.kr/userinfo/UserInfo.asp", params) 
rs = mechanize.urlopen(rq) 
data = rs.read() 

logged_fail = r';history.back();</script>' in data            
if not logged_fail: 
print 'login success' 
try: 
    params = urllib.urlencode({'PASSWORD':'pk1089'}) 
    rq = mechanize.Request("http://user.buddybuddy.co.kr/usercheck/UserCheckPWExec.asp", params) 
    rs = mechanize.urlopen(rq) 
    data = rs.read() 
    print data 
except: 
    print 'error' 
+2

Le plus gros problème est vos deux dernières lignes 'except: print 'error' '. Débarrassez-vous de ceux-ci et vous aurez des informations utiles au lieu d'avaler toutes les exceptions. – msw

+0

j'ai été retiré sauf: imprimer 'erreur' mais rien ne se passe – paul

Répondre

0

Vous ne pouvez pas utiliser le sélénium? À mon humble avis, il est préférable de faire de l'automatisation avec cela.

Pour installer utiliser:

pip install selenium 

Un exemple:

from selenium import webdriver 
browser = webdriver.Firefox() 
# open site 
browser.get('http://google.com.br') 
# get page source 
browser.page_source 

Un exemple de connexion:

# different methods to get a html item 
form = browser.find_element_by_tag_name('form') 
username = browser.find_element_by_id('input_username') 
password = browser.find_element_by_css_selector('input[type=password]') 
username.send_keys('myUser') 
password.send_keys('myPass') 
form.submit()