Я наверное только за, но я не спец и не все всегда понимаю что где и как правильно сделать, что доходит как делать, делаю, а нет, разбираться нужно. А иногда лень приходит, нет вдохновения и забиваю на время. Потом опять тянет что-то где-то покопаться, с новыми силами…
Так это правильный подход. Если дело не идет - остановись, отвлекись на что-то другое, часто решение само приходит
я так и не понял как ты без соответствующих записей на виртуальном хостинге через файл hosts на локальном клиенте будешь попадать на свой сайт
Ну да, сорри. Тут юзер агент -ЕСП.
А браузеный запрос, который проходил на хостинге?
Хотя ладно… есть более важные дела… Просто любопытно стало.
Оставь там пока заглушку эту. и Напомни её содержимое. Может поиграю
немного.
Файл там есть и отвечает он json строкой, содержимое будет зависеть от запроса. На пустой запрос ответ все-равно будет как {“kod”:“error”,“message”:“Пустой запрос”}.
Немного сейчас поколдую, верну работоспособность.
Все, selhom.ru/r.php доступна с браузера, недоступно c ESP.
Для сравнения betonodk.beget.tech то же самое доступно хоть с браузера, хоть с ESP (берет данные post запросом из selhom.ru/r.php)
<?php
$data = file_get_contents('php://input');
$options = array(
'http' => array(
'header' => "Content-type: application/json\r\n",
'method' => 'POST',
'content' => http_build_query($data)
)
);
$context = stream_context_create($options);
$result = file_get_contents('http://selhom.ru/r.php', false, $context);
if ($result === FALSE) { /* Handle error */ }
header('Content-Type: application/json');
echo $result;
?>
ESP:
Сброс данных на http://betonodk.beget.tech
[HTTP] POST... code: 200
received payload:
<<
{"kod":"error","message":"Пустой запрос"}
>>
...@demetra:~$ curl -v selhom.ru/r.php -A "Mozilla"
* Trying 185.50.25.21:80...
* Connected to selhom.ru (185.50.25.21) port 80 (#0)
> GET /r.php HTTP/1.1
> Host: selhom.ru
> User-Agent: Mozilla
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 403 Forbidden
< Server: nginx-reuseport/1.21.1
< Date: Thu, 02 Feb 2023 12:43:22 GMT
< Content-Type: text/html
< Content-Length: 163
< Connection: keep-alive
< Keep-Alive: timeout=30
<
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx-reuseport/1.21.1</center>
</body>
</html>
* Connection #0 to host selhom.ru left intact
...@demetra:~$ curl -v selhom.ru/r.php -A "Mozilla/5.0"
* Trying 185.50.25.21:80...
* Connected to selhom.ru (185.50.25.21) port 80 (#0)
> GET /r.php HTTP/1.1
> Host: selhom.ru
> User-Agent: Mozilla/5.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: nginx-reuseport/1.21.1
< Date: Thu, 02 Feb 2023 12:43:26 GMT
< Content-Type: application/json
< Content-Length: 53
< Connection: keep-alive
< Keep-Alive: timeout=30
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Methods: GET,POST,OPTIONS,DELETE,PUT
< Access-Control-Allow-Headers: *
< X-Powered-By: PHP/7.4.33
<
* Connection #0 to host selhom.ru left intact
{"kod":"error","message":"Пустой запрос"}
То есть все таки User-Agent…
/**
* set User Agent
* @param userAgent const char *
*/
void HTTPClient::setUserAgent(const String& userAgent)
{
_userAgent = userAgent;
}
а вот это тогда почему не спасало?
http.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0");
Наверное потому что два хидера посылалось:
if (_userAgent.length()) {
header += F("\r\nUser-Agent: ");
header += _userAgent;
}
Туплю, не понимаю, как правильно тогда будет указать User-Agent…?
Типа такого, наверное:
http.setUserAgent(F("Mozilla/5.0"));
Спасибо, но завтра только уже проверю…
На beget.ru бесплатный хостинг на 30 дней или я где-то недоковырял?
PS. Нашёл условия тарифа “Бесплатный” ))
4 года как зарегистрировался, все бесплатно.
Может поменялось что
Леночка, яица подействовали… )))
[HTTP] POST... code: 200
received payload:
<<
{"kod":"error","message":"Пустой запрос"}
>>
Актуальная ссылка на соглашение при регистрации, там не там читал?
https://beget.com/ru/rulesfree
Про 30 дней не нашёл.
А это ссылка на регистрацию
https://beget.com/ru/hosting/free