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