Así que estoy tratando de obtener los datos de envío en un XHR para colocarlos en el encabezado en file_get_contents de PHP.
Debido a que necesito el encabezado Referer exacto al enviar la solicitud de publicación, necesito hacerlo en PHP file_get_contents con el estilo stream_context_create .
Básicamente necesito esto:
xhr.open('POST', 'https://example.com/test'); xhr.setRequestHeader('Referer','https://example.com'); xhr.send('{thing1: "abc", thing2: "def", thing3: "ghi"}');convertido en PHP, así:
$url = "https://example.com/test"; $content = '{thing1: "abc", thing2: "def", thing3: "ghi"}'; $opts = ["http" => ["method" => "POST","header" => "Content-Type: application/json; charset=UTF-8\r\n". "Referer: https://example.com\r\n". "X-Requested-With: XMLHttpRequest\r\n"]];; echo file_get_contents($url, true, stream_context_create($opts)); Sé que la parte X-Requested-With: XMLHttpRequest es correcta, pero no tengo ni idea del valor de encabezado específico que podría poner en la variable $opts que podría reemplazar la función xhr.send() /simplemente enviar los datos JSON.
No creo que xhr le permita configurar el encabezado Referer, se configura automáticamente.
En el lado del servidor, debería poder hacerlo, consulte a continuación.
$url = "https://example.com/test"; $content = json_encode([thing1 => "abc", thing2 => "def", thing3 => "ghi"]); $opts = [ "http" => [ "method" => "POST", "header" => [ "Content-Type: application/json; charset=UTF-8", "Referer: https://example.com", "X-Requested-With: XMLHttpRequest" ], "content" => $content ] ] echo file_get_contents($url, true, stream_context_create($opts));