2010-05-23 2 views
0

im, создающий несколько простых сценариев сообщений python, но он не работает хорошо.python urllib post question

есть 2 части, которые должны войти в систему.

Первый логин использует 'http://mybuddy.buddybuddy.co.kr/userinfo/UserInfo.asp' этот.

и второй Войти использует «» http://user.buddybuddy.co.kr/usercheck/UserCheckPWExec.asp

я могу войти первой страницы входа в систему, но я не мог войти в второй странице сайта.

и вернуть некоторую ошибку «незаконный доступ», такой как.

Я слышал, что это связано с некоторыми cooke, но я не знаю, как реализовать эту проблему.

если кто-нибудь может мне помочь! Благодаря!

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

Самая большая проблема в том, ваши последние две строки 'за исключением: печати 'ошибки' '. Избавьтесь от них, и у вас будет полезная информация, а не глотание всех исключений. – msw

+0

Я был удален, кроме: напечатал 'error', но ничего не произошло – paul

ответ

0

Вы не можете использовать селен? ИМХО, лучше с этим справиться.

Для установки использовать:

pip install selenium 

Пример из:

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

Войти Пример:

# 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()