2012-01-01 41 views
0

我需要在小时基础上在路由器上释放我的IP地址。路由器页面需要简单的认证和点击按钮来完成这个过程。这些都是HTTP调用:在OSX中自动执行HTTP GET/POST

身份验证

GET /RST_st_dhcp.htm HTTP/1.1 
Host: 10.10.1.1 
Authorization: Basic YWRtaW46cGFzc3dvcmQ= 
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Encoding: gzip,deflate,sdch 
Accept-Language: en-US,en;q=0.8 
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 

释放按钮点击

POST /st_dhcp.cgi?id=1044071018 HTTP/1.1 
Host: 10.10.1.1 
Content-Length: 31 
Cache-Control: max-age=0 
Authorization: Basic YWRtaW46cGFzc3dvcmQ= 
Origin: http://10.10.1.1 
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7 
Content-Type: application/x-www-form-urlencoded 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Referer: http://10.10.1.1/RST_st_dhcp.htm 
Accept-Encoding: gzip,deflate,sdch 
Accept-Language: en-US,en;q=0.8 
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 

connect=Release&refreshScrn=yes 

这怎么OSX中实现自动化?是否有可能为此编写自动化脚本?

回答

-1

您可以简单地使用curl,使该请求 - 像

curl -e http://10.10.1.1/RST_st_dhcp.htm \ 
    -d 'connect=Release&refreshScrn=yes' -u user:password \ 
    'http://10.10.1.1/st_dhcp.cgi?id=1044071018' 

你需要检查是否在URL事项id。如果没有,上述应该是你所需要的。如果确实如此,那么您可能必须提出第一个请求,以从其有效载荷中获取id