2012-01-01 13 views
0

私はルータで自分のIPアドレスを1時間ごとにリリースする必要があります。ルータのページには簡単な認証が必要で、ボタンをクリックするとそのプロセスが実行されます。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 

リリースボタンのクリックこれはOSXで自動化することができますどのように

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 

:これらは、HTTP呼び出しですか?これのための自動化スクリプトを書くことは可能ですか?

答えて

-1

あなたは、単にその要求をするためにcurlを使用することができます - あなたはURLの問題でidかどうかを確認する必要があります

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' 

のようなものを。もしそうでなければ、あなたが必要とするのは上記のものでなければなりません。もしそうなら、そのペイロードからidを得るための最初の要求をしなければならないかもしれません。