Estoy usando la función de PHP file_get_contents()para recuperar el contenido de una URL y luego procesar encabezados a través de la variable $http_response_header.
Ahora el problema es que algunas de las URL necesitan algunos datos para publicarse en la URL (por ejemplo, páginas de inicio de sesión).
¿Cómo puedo hacer eso?
Me doy cuenta de que usando stream_context puedo hacerlo, pero no estoy del todo claro.
Gracias.
                    
                        php
                                http
                                http-post
                                file-get-contents
                                
                    
                    
                        Paras Chopra
fuente
                
                fuente

Respuestas:
Enviar una solicitud HTTP POST usando
file_get_contentsno es tan difícil, en realidad: como adivinó, debe usar el$contextparámetro.Hay un ejemplo dado en el manual de PHP, en esta página: Opciones de contexto HTTP (cita) :
Básicamente, debe crear una secuencia, con las opciones correctas (hay una lista completa en esa página) , y usarla como el tercer parámetro para
file_get_contents- nada más ;-)Como nota al margen: en términos generales, para enviar solicitudes HTTP POST, tendemos a usar curl, que ofrece muchas opciones y todo, pero las transmisiones son una de las cosas buenas de PHP que nadie sabe ... demasiado mal ... .
fuente
contentno debe ser una matriz PHP: tiene que ser una cadena de consulta (es decir, debe tiene este formato:param1=value1¶m2=value2¶m3=value3) ;; Lo que significa que probablemente tendrá que usarhttp_build_query($_POST)$postdata = http_build_query($_POST).\r\nsaltos de línea; consulte: stackoverflow.com/a/2107792/404960Una alternativa, también puedes usar fopen
fuente
toto=1&tata=2también. No utilicé elfopen, sin embargo.fuente
file_get_contentslugar defopen+stream_get_contents. Y ni siquiera está cerrando el "archivo". Vea la respuesta aceptada por @PascalMARTIN.