Как разместить данные в PHP с помощью file get contents?
Я использую функцию PHP file_get_contents() для извлечения содержимого URL-адреса, а затем я обрабатываю заголовки через переменную $http_response_header.
теперь проблема заключается в том, что некоторые URL-адреса нуждаются в некоторых данных для публикации в URL-адрес (например, страницы входа в систему).
Как мне это сделать?
Я понимаю, что с помощью stream_context я могу это сделать, но я не совсем ясно.
спасибо.
3 ответов:
отправка запроса HTTP POST с помощью
file_get_contents- это не так сложно, на самом деле : как вы уже догадались, вы должны использовать
альтернативный вариант, вы также можете использовать fopen
$params = array('http' => array( 'method' => 'POST', 'content' => 'toto=1&tata=2' )); $ctx = stream_context_create($params); $fp = @fopen($sUrl, 'rb', false, $ctx); if (!$fp) { throw new Exception("Problem with $sUrl, $php_errormsg"); } $response = @stream_get_contents($fp); if ($response === false) { throw new Exception("Problem reading data from $sUrl, $php_errormsg"); }
$sUrl = 'http://www.linktopage.com/login/'; $params = array('http' => array( 'method' => 'POST', 'content' => 'username=admin195&password=d123456789' )); $ctx = stream_context_create($params); $fp = @fopen($sUrl, 'rb', false, $ctx); if(!$fp) { throw new Exception("Problem with $sUrl, $php_errormsg"); } $response = @stream_get_contents($fp); if($response === false) { throw new Exception("Problem reading data from $sUrl, $php_errormsg"); }
Comments