И с этим тоже дел не имел ))
Ладно, что-то ТС надумал - пусть пробует и сообщит как и что.
- У некоторых хостеров вообще закрыт простой http, не https.
- Фильтрация как может быть сделана? По юзер агенту скорее всего… Ну?
- Это коллегам - на есп все нормально сделано. Ладно UA6EM, но я сам проверял на своём сервере.
- ТС! Скажи, что за хостер. На бесплатном тарифе я сам попробую. Любой фильтр можно обойти. Но, повторю, попробуй юзер агент поставить.
Даже так: посмотри запрос от скрипта, который работает. Проверь, что именно на http , без s работает. И повтори до буквы все хедеры из работающего запроса. Не размышляя. Ок?
Если и тогда не сработает - мистика!!! ![]()
Хостер beget.ru. Есть у них free хостинг, но только если никогда там не регался еще, либо вообще новый левый аккаунт создавать. https на бесплатном включить нельзя.
В заголовки пробовал передавать инфу из тестового рабочего запроса, который писал выше, не спасало
http.addHeader("Accept", "*/*");
http.addHeader("Accept-Encoding", "gzip, deflate");
http.addHeader("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
http.addHeader("Content-Type", "application/json");
http.addHeader("Connection", "keep-alive");
http.addHeader("Origin", "null");
http.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0");
У меня в браузере работает твой хост, но запрос/ответ не такие как ты выше приводил.
Запрос:
Accept text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Connection keep-alive
Host selhom.ru
Upgrade-Insecure-Requests 1
User-Agent Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0
Ответ:
Access-Control-Allow-Credentials false
Access-Control-Allow-Headers *
Access-Control-Allow-Methods GET,POST,OPTIONS,DELETE,PUT
Access-Control-Allow-Origin *
Access-Control-Max-Age 3600
Connection keep-alive
Content-Length 53
Content-Type application/json
Date Thu, 02 Feb 2023 07:10:45 GMT
Keep-Alive timeout=30
Server nginx-reuseport/1.21.1
X-Content-Type-Options nosniff
X-Powered-By PHP/7.4.33
X-XSS-Protection 1; mode=block
попробовать все четыре (верхних) контроля доступа сделать false оставив только ограничение по времени (у меня оно 60)
У меня в браузере тоже работает, но не с ESP.
Через client тоже не подключается, сразу выдает ошибку подключения…
...
WiFiClient client;
if (!client.connect(serv, 80)) {
Serial.println("connection failed");
return ("");
}
...
не вифи HTTPClient
Это и так можно считать полная свобода запросов…
попробую
ТС! Сделай милость, отправь оба запроса на http://postman-echo.com/post и покажи оба ответа.
Вот, к примеру мой ответ:
[HTTP] begin...
[HTTP] POST...
[HTTP] POST... code: 200
{"args":{},"data":{"hello":"world"},"files":{},"form":{},"headers":{"x-forwarded-proto":"http","x-forwarded-port":"80","host":"postman-echo.com","x-amzn-trace-id":"Root=1-63db7c1f-54e22eb142fd634b707e9253","content-length":"17","user-agent":"ESP32HTTPClient","accept-encoding":"identity;q=1,chunked;q=0.1,*;q=0","content-type":"application/json"},"json":{"hello":"world"},"url":"http://postman-echo.com/POST"}
Обрати внимание на то, что:
"user-agent":"ESP32HTTPClient"
С одной стороны, раз с нормальными серверами работает, то можно и наплевать на странного хостера, но победить его интересно. Это уже спортивный чисто интерес! ![]()
Чуть позже, немного на основной работе поработаю)
Ох, блин! Вот зря ты мне об этом напомнил!!! ![]()
ответ
Сброс данных на http://postman-echo.com/post
[HTTP] POST... code: 200
received payload:
<<
{"args":{},"data":{"kod":"settings"},"files":{},"form":{},"headers":{"x-forwarded-proto":"http","x-forwarded-port":"80","host":"postman-echo.com","x-amzn-trace-id":"Root=1-63db8691-71f915c8741339707e95aa2b","content-length":"18","user-agent":"ESP8266HTTPClient","accept-encoding":"identity;q=1,chunked;q=0.1,*;q=0, gzip, deflate","accept":"*/*","accept-language":"ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3","content-type":"application/json","origin":"null"},"json":{"kod":"settings"},"url":"http://postman-echo.com/post"}
>>
В общем нет желания больше с этим хостингом мучатся, пойду попробую к другому…
Реально за 60 рублей в год?
я тоже не поверил, зарегался. Правда активировать пришлось через поддержку, кривовато и простовато у них там. Ни как на beget, где сейчас.
Я так понял ipipe.ru это ростелекомовский сервис, от них контора работает.
лишь бы не как в Египте, залезть на верблюда - бесплатно, а вот слезть…
Да блин, домен перенести еще 310р просят
а без домена не могу попасть на главную…
Можно в hosts забить доменное имя и публичный адрес сервера, на котором размещен сайт. Это способ по быстрому и без DNS “прикрутить домен”, но это только для тестирования пойдет.
И как быть в таком случае с ESP - не знаю (свой локальный DNS-сервер может имеется?).