Я должен сделать запрос с помощью PHP, но я не могу заставить его работать. низкий запрос HTML работает
<form action="http://example.com/form.php" method="post" id="form-success">
<input type="hidden" name="id" id="itemid" value="12345">
<input type="hidden" name="key" id="sh" value="79c830e5bf78218685a350cd5df3cdac">
<input type="submit"/>
</form>
Я пробовал это двумя способами запросить в php, но оба не работает.
$content = http_build_query(array('id'=>'12345','key'=>'79c830e5bf78218685a350cd5df3cdac'));
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'content' => $content,
)
));
$result = file_get_contents('http://example.com/form.php', null, $context);
echo $result;
а также
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://example.com/form.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('id'=>'12345','key'=>'79c830e5bf78218685a350cd5df3cdac');
$pagina = curl_exec ($ch);
echo $pagina;
не имеет сообщения об ошибке, просто знайте, что страница не перенаправлена правильно.
есть идеи?
благодарю вас
Я использую это:
function file_get_contents_post($url, $var_post = array()) {
define('MULTIPART_BOUNDARY', '--------------------------'.microtime(true));
$header = 'Content-Type: multipart/form-data; boundary='.MULTIPART_BOUNDARY;
$content = '' ;
foreach ( $var_post as $key => $value ) {
$content .= "--".MULTIPART_BOUNDARY."\r\n".
"Content-Disposition: form-data; name=\"".$key."\"\r\n\r\n".
$value."\r\n";
}
$content .= "--".MULTIPART_BOUNDARY."--\r\n";
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => $header,
'content' => $content,
)
));
return file_get_contents($url, false, $context) ;
}
Других решений пока нет …