2013-05-07 1 views
0

DynDNS는 무료 도메인을 활성 상태로 유지하기 위해 한 달에 한 번 계정에 로그인해야합니다. 이것을하기 위해 간단한 스크립트 (리눅스에서)를 작성할 수 있습니까? 로그인 페이지는 this입니다.한 달에 한 번 계정에 자동으로 로그인하는 스크립트

+2

그것은 예, 할 수 있습니다. – CanSpice

+0

DynDNS는이 작업을 수행하는 응용 프로그램을 제공합니다. –

답변

1

파이썬으로 작성하고 서버가 indefinetaly로 실행되도록 스크립트를 호스트하려는 경우 Mechanicalize 라이브러리를 사용하여 사용자 및 로그인 한 시간에 한 달에 한 번 로그인하십시오. 기계화 : http://stockrt.github.io/p/emulating-a-browser-in-python-with-mechanize/ 시간 : http://docs.python.org/2/library/time.html 무료 호스팅 : https://www.heroku.com/

+0

링크를 제공해 주셔서 감사합니다. – passerby51

1

당신은 다음과 같은 의미 :

import re 
import mechanize 

username = "username" 
password = "password" 
success_verification_text = "Log Out" 

br = mechanize.Browser() 
response = br.open("https://account.dyn.com/") 


#select the login form 
for form1 in br.forms(): 
    form = form1 
    break; 

br.select_form(nr=0) 

form["username"] = username 
form["password"] = password 

response = br.submit() 


if success_verification_text in response.read(): 
    print "SUCCESS" 
else: 
    print "FAILED" 

https://gist.github.com/mandarl/6007396

+0

감사합니다. – passerby51

0

성공적으로 로그인 할 경우 로그인 폼을 선택해야합니다. 요청간에 양식 ID가 변경되므로 (loginNNN) 이름으로 검색하는 것이 가장 좋습니다.

작동 예 (mechanize 필요) :

import re 
import mechanize 

username = "xxx" 
password = "xxxxxx" 
success_verification_text = "Log Out" 

br = mechanize.Browser() 

response = br.open("https://account.dyn.com/") 

# select the login form 
cnt = 0 
for frm in br.forms(): 
    if str(frm.attrs["id"]).find("login") != -1: 
     form = frm 
     break 
    cnt += 1 

br.select_form(nr=cnt) 

form["username"] = username 
form["password"] = password 

response = br.submit() 

if success_verification_text in response.read(): 
    print ("SUCCESS") 
else: 
    print ("FAILED") 
관련 문제