Добрый день!
Есть форма:
<form method="post" action="post.php">
<input type="text" name="query" id="documentNumber" oninput="identifyType(this.value)">
<input type="submit" value="Check" id="check">
</form>
Пытаюсь выполнить post-запрос в post.php:
$data = http_build_query(
array(
'query' => $_POST['query']
)
);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $data
)
);
$context = stream_context_create($opts);
$result = file_get_contents('https://rmsp.nalog.ru/search-proc.json', false, $context);
echo $result;
В результате появляется предупреждение:
Warning: file_get_contents(https://rmsp.nalog.ru/search-proc.json): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
Пробовал использовать curl:
if (isset($_POST['query'])) {$query = $_POST['query'];}
$myCurl = curl_init();
curl_setopt_array($myCurl, [
CURLOPT_URL => 'https://rmsp.nalog.ru/search-proc.json',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => 'query='.$query
]);
$response = curl_exec($myCurl);
curl_close($myCurl);
echo $response;
Получаю следующий ответ:
{"ERROR":"-","STATUS":500}
Пробовал в php.ini прописывать разное:
allow_url_fopen=On
extension=php_openssl.dll
allow_url_include = On
Если просто использовать форму без скрипта, то запрос выполняется:
<form method="post" action="https://rmsp.nalog.ru/search-proc.json">
<input type="text" name="query" id="documentNumber" oninput="identifyType(this.value)">
<input type="submit" value="Check" id="check">
</form>
И в строке браузера тоже работает:
https://rmsp.nalog.ru/search-proc.json?query=7705151026
В чем может быть проблема?
Мне необходимо в post запросе передать ИНН, введенный в текстовое поле и получить информацию о предприятии.