• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP32 Подключение к хостингу и внесение изменений на сайте с помощью esp

VlaDDoS111

New member
#include <WiFi.h>
#include <HTTPClient.h>
const char* ssid = "ssid";
const char* password = "password";
unsigned long lastTime = 0;
unsigned long timerDelay = 5000;
void setup() {
Serial.begin(115200);
// Connect to Wi-Fi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
// Define host and port

}
void loop() {
if ((millis() - lastTime) > timerDelay) {
if(WiFi.status()== WL_CONNECTED){
const char* host = "k912019u.beget.tech";
int port = 80;
// Define path
const char* path = "/com/btnr.php?btnReaction=wc";
// Send HTTP GET request
HTTPClient http;
http.addHeader("User-Agent", "Mozilla/5.0");
http.begin(host, port, path); // Use begin with host and port
int httpResponseCode = http.GET();
// Check for response
if (httpResponseCode > 0) {
String response = http.getString();
Serial.println("HTTP Response: " + response);
} else {
Serial.print("Error on HTTP request. Error code: ");
Serial.println(httpResponseCode);
}
http.end();
}
else {
Serial.println("WiFi Disconnected");
}
lastTime = millis();
}
}
Вот так возвращает 403
 

VlaDDoS111

New member
#include <WiFi.h>
#include <HTTPClient.h>
const char* ssid = "ssid";
const char* password = "password";
const int buttonPin = 12; // Пин, к которому подключена кнопка
int buttonState = 0; // Переменная для хранения состояния кнопки
void setup() {
Serial.begin(115200);

// Подключение к Wi-Fi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Подключение к Wi-Fi...");
}
Serial.println("Подключено к Wi-Fi");
}
void loop() {
buttonState = digitalRead(buttonPin); // Считываем состояние кнопки
// Если кнопка нажата
if (buttonState == HIGH) {
// Отправляем HTTP GET запрос
HTTPClient http;
http.begin("http://k912019u.beget.tech/com/btnr.php?btnReaction=wc -H \"User-Agent: Mozilla/5.0\"");
int httpResponseCode = http.GET();
// Проверяем ответ
if (httpResponseCode > 0) {
String response = http.getString();
Serial.println("HTTP Response: " + response);
} else {
Serial.print("Ошибка HTTP запроса. Код ошибки: ");
Serial.println(httpResponseCode);
}
http.end();
// Ждем, пока кнопка будет отпущена, чтобы избежать повторных запросов
while (digitalRead(buttonPin) == HIGH) {
delay(100);
}
}
// Дополнительные действия могут быть добавлены здесь
delay(100); // Небольшая задержка для стабилизации
}
вот так возвращает

HTTP Response: <html>

<head><title>400 Bad Request</title></head>

<body>

<center><h1>400 Bad Request</h1></center>

<hr><center>nginx-reuseport/1.21.1</center>

</body>

</html>
 

VlaDDoS111

New member
как продвинуться дальше
Я не правильно добавляю -H \"User-Agent: Mozilla/5.0\"
Я не знаю как правильно
 

CodeNameHawk

Moderator
Команда форума
На вопросы отвечать не любите.
А так вместо того, чтобы лечить болезнь, пытаетесь бороться с симптомами - удачи.
 

CodeNameHawk

Moderator
Команда форума
@fps с вашим усерагентом - работает.
 
Последнее редактирование:

fps

Active member
Там у VlaDDoS111 вообще какая-то солянка:

на такой запрос: curl http://k912019u.beget.tech/com/ отвечает nginx

HTML:
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx-reuseport/1.21.1</center>
</body>
</html>

на такой curl http://k912019u.beget.tech/com/ отвечает апач
HTML:
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access this resource.</p>
<hr>
<address>Apache/2.4.55 (Unix) Server at k912019u.beget.tech Port 80</address>
</body></html>

вот на такое ответит Success пыхыпы :)
curl -H "User-Agent: Mozilla/15.0" http://k912019u.beget.tech/com/btnr.php?btnReaction=LOL
 

fps

Active member
* второй запрос такой curl -H "User-Agent: Mozilla/5.0" http://k912019u.beget.tech/com/
(не дает исправить)
 

VlaDDoS111

New member
Я очень вам благодарен у меня наконец-то получилось, я не специально игнорировал ваши вопросы, отвечал как мог
Этот запрос работает в командной строке, а через плату выдавал 400
Я так понял ошибка не корректного запроса
 

VlaDDoS111

New member
Может подскажите что мне сделать
Стабильно первые пять запросов выдают ошибку -1
Остальные 200

СЕЙЧАС должен подключиться wi-fi

пытаюсь wi-fi подключен

Нажми на кнопку чтобы отправить запрос

кнопка нажата

Error code: -1

кнопка нажата

Error code: -1

кнопка нажата

Error code: -1

кнопка нажата

HTTP Response code: 200

Success

кнопка нажата

HTTP Response code: 200

Success

кнопка нажата

HTTP Response code: 200

Success


Интересно с чем это связано куда он не успевает подключиться некоторое время
Я ничего не меняю, но сначала возвращает ошибку, а потом работает корректно

так как через некоторое время работает исправно:
1.адрес правильный
2.к вайфаю подключен
3.сервер меня не блокирует
4.порт я не указываю, но получается и так работает
Осталось только по IP обращаться а не по доменному имени

ИЛИ я не прав
 

fps

Active member
Конкретно: перечитайте внимательно, что вам отвечали, что вас спрашивали и вы не удосужились ответить, какие ссылки вам давали ознакомиться.
 

CodeNameHawk

Moderator
Команда форума
Можно конкретней ?
Куда уж конкретней?
Включите отладку wifi в arduinoide и посмотрите успевает ли сработать подключение к инету, или просто добавьте еще одну задержку, перед обращением к сайту.
p.s. Именно к инету, а не к вифи.
 
Сверху Снизу