И с этим тоже дел не имел ))
Ладно, что-то ТС надумал - пусть пробует и сообщит как и что.
- У некоторых хостеров вообще закрыт простой 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-сервер может имеется?).