每月自动登录一次帐户的脚本

时间:2013-05-07 23:35:14

标签: autologin

DynDNS要求每月登录一次帐户以保持免费域名处于活动状态。是否可以编写简单的脚本(在Linux中)来执行此操作?登录页面为this

3 个答案:

答案 0 :(得分:1)

如果你想在python中编写脚本并在服务器上托管脚本以使其无限运行,你可以使用Mechanize库为你登录,以及每月一次内置的时间。 机械化:http://stockrt.github.io/p/emulating-a-browser-in-python-with-mechanize/ 时间:http://docs.python.org/2/library/time.html 免费托管:https://www.heroku.com/

答案 1 :(得分: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

答案 2 :(得分: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")
相关问题