【问题标题】:Automating HTTP GET/POST in OSX在 OSX 中自动执行 HTTP GET/POST
【发布时间】:2024-05-06 03:35:02
【问题描述】:

我需要每小时在路由器上释放我的 IP 地址。路由器页面需要简单的身份验证和单击按钮来完成该过程。这些是 HTTP 调用:

验证

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 中实现自动化?是否可以为此编写自动化脚本?

【问题讨论】:

    标签: macos http osx-lion automator


    【解决方案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

    【讨论】:

      最近更新 更多