Я пытаюсь подключиться к Wi-Fi в моей школе, используя Arduino.У меня нет проблем с подключением к Wi-Fi, но это не так просто.После подключения к Wi-Fi, я должен зайти на страницу входа в систему, чтобы ввести свое имя пользователя и пароль, чтобы получить полный доступ к Интернету.Используя инструменты разработчика Chrome, я понял, что это на самом деле запрос POST.Таким образом, я использовал точно такие же заголовки и тело запроса POST в моем коде.
Вот мой код (некоторая информация была изменена для обеспечения конфиденциальности):
if (client.connect(server, 80)) {
Serial.println("connected to server");
client.println("POST /login.html HTTP/1.1");
client.println("Host: wlan.XXXX.edu.tw");
client.println("Connection: keep-alive");
client.println("Content-Length: 77");
client.println("Cache-Control: max-age=0");
client.println("Origin: https://wlan.XXXX.edu.tw");
client.println("Upgrade-Insecure-Requests: 1");
client.println("Content-Type: application/x-www-form-urlencoded");
client.println("User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36");
client.println("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8");
client.println("Referer: https://wlan.XXXX.edu.tw/fs/customwebauth/login-XXXX.html?switch_url=https://wlan.XXXX.edu.tw/login.html&ap_mac=00:d7:XX:XX:XX:XX&wlan=XXXX-WLAN&statusCode=1");
client.println("Accept-Encoding: gzip, deflate, br");
client.println("Accept-Language: zh-TW,zh;q=0.9,en-US;q=0.8,en;q=0.7");
client.println("Cookie: _ga=GA1.3.155XXXXXXX.154XXXXXXX");
client.println("");
client.print("buttonClicked=4&redirect_url=&err_flag=0&username=XXXXXXXXX&password=XXXXXXXX");
}
и заголовки запроса:
POST /login.html HTTP/1.1
Host: wlan.XXXX.edu.tw
Connection: keep-alive
Content-Length: 77
Cache-Control: max-age=0
Origin: https://wlan.XXXX.edu.tw
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer: https://wlan.XXXX.edu.tw/fs/customwebauth/login-XXXX.html?switch_url=https://wlan.XXXX.edu.tw/login.html&ap_mac=00:d7:XX:XX:XX:XX&wlan=XXXX-WLAN&statusCode=1
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-TW,zh;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: _ga=GA1.3.155XXXXXXX.154XXXXXXX
и данные формы:
buttonClicked=4&redirect_url=&err_flag=0&username=XXXXXXXXX&password=XXXXXXXX
Однако мне кажется, что я что-то упустил, потому что я все еще не получил полный доступ к Интернету.Сервер входа ответил мне HTML, который перенаправил меня на исходную страницу входа в систему.
Где я сделал не так?
обновление
этоHTML, на который ответил сервер:
HTTP/1.1 200 OK
Server: HTTP Appgw
Content-Type: text/html
Content-Length: 325
<HTML>
<HEAD>
<TITLE> Web Authentication Redirect</TITLE>
<META http-equiv="Cache-control" content="no-cache">
<META http-equiv="Pragma" content="no-cache">
<META http-equiv="Expires" content="-1">
<META http-equiv="refresh"
content="1; URL=https://wlan.XXXX.edu.tw/login.html?redirect=wlan.XXXX.edu.tw/login.html">
</HEAD>
</HTML>