家里新买了个支持API管理的WiFi中继器,想批量修改SSID和密码,但厂商只给了个POST接口文档——这时候就得自己写个POST请求脚本了。别慌,不是非得会编程,几行代码就能搞定。
最简单的Python写法
装好Python(3.6+就行),用内置的requests库,三行就发出去:
import requests
data = {'ssid': 'MyHomeWiFi', 'password': '12345678'}
response = requests.post('http://192.168.10.1/api/config', json=data)注意:如果设备要求表单提交(Content-Type: application/x-www-form-urlencoded),就把json=data换成data=data;如果要带登录态,先用session = requests.Session(),再调session.post(...)。
没装Python?试试curl(Windows/macOS/Linux都自带)
打开终端或命令提示符,直接敲:
curl -X POST http://192.168.10.1/api/config \
-H \"Content-Type: application/json\" \
-d '{\"ssid\":\"MyHomeWiFi\",\"password\":\"12345678\"}'Windows PowerShell用户把反斜杠去掉,写成一行就行;引号用双引号,内部字段用双引号记得加转义(或改用单引号包裹整个-d参数)。
浏览器里也能试(适合临时调试)
打开F12开发者工具 → Console标签页,粘贴这段:
fetch('http://192.168.10.1/api/config', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({ssid: 'MyHomeWiFi', password: '12345678'})
}).then(r => r.json()).then(console.log);只要设备开启了CORS(或者你在本地起个代理绕过限制),立马能看到返回结果。调试WiFi网关、AP控制器时特别顺手。
提醒一句:发POST前先确认IP是否正确、设备是否在同一个局域网、接口路径和参数名跟文档对得上——很多‘脚本不生效’其实是输错了/api/v1/set_wifi和/api/v1/wifi_set这种细节。