PHP не видит данных POST запроса
Сайт заказчика, все работало до определенного момента, вроде никто не лазил по настройкам и хрен его знает как сломалось (ну как обычно). Все собстна слишком просто что бы сломаться, делаю со скрипта на Python запрос на сайт (адрес не пропускает спам фильтр)
print(requests.post("http://example_com/test.php", data={"test": 123}).text)
И вывожу полученные данные на стороне PHP
<?php
var_dump($_POST);
Результат
array(0) {
}
И, как видно, $_POST пустой, $_REQUEST тоже, уже пробовал. Подскажите, куда копать, сижу битый час не пойму что с этим делать, похоже на то что сбились какие-то конфиги, но никто ничего не трогал)
А какой результат даёт такой PHP-код:
var_dump(file_get_contents('php://input'));
Не уже обработанные данные в $_POST, а сырые данные, реально пришедшие в запросе.
_POST заполнится только передавать данные с формы н т к она устанавливает заголовки в зависимости от того в каком формате передает
Сайт заказчика, все работало до определенного момента, вроде никто не лазил по настройкам и хрен его знает как сломалось (ну как обычно).
Вероятно хост провайдер заблокировал диапазон ip адресов к своим серверам для некоторых пользователей обычная практика на текущее время и без vpn/ прокси не пропускает запросы со стороны клиентов. самый просто вариант проверки что ошибка в php сделай на другом хосте запрос через curl из php на нужный файл php где твой дамп если выведет то проблема с клиентской частью на php всё норм
скорее, запрос не отправляется (данные не шлются), чем скрипт их не принимает и не показывает.
На пэйтоне нужно отправлять запрос вот так
import requests
import json
url = "https://pelevin.gpt.dobro.ai/generate/"
msg = "Твой текст!"
data = {"prompt": msg}
response = requests.post(url, data=json.dumps(data)).json()
answer = response.get("replies")
print(*answer)
а вы написали какую то ересь.
Запросы к серверу работают так (в довольно грубой аналогии)
формируется тело запроса и заголовки
сформированный запрос с нужными параметрами отправляется на сервер
сервер дает ответ
ответ считывается, он также состоит из тела и заголовков
Только ПОСЛЕ получения ответа его можно вывести.
А у Вас тупо отправляется запрос. ВЫ НЕ ЧИТАЕТЕ что вам ответил сервер :)