HTTP context options
HTTP-kontextalternativ
HTTP-kontextalternativ — Lista över HTTP-kontextalternativ
Beskrivning
Kontextalternativ för http:// och https:// transporter.
Alternativ
- method string
- GET, POST, eller någon annan HTTP-metod som stöds av den fjärrservern.
Standardvärdet är GET.
- header array eller string
- Ytterligare headers som ska skickas under förfrågan. Värden i detta alternativ kommer att åsidosätta andra värden (som User-agent:, Host:, och Authentication:), även när du följer Location: omdirigeringar. Därför rekommenderas det inte att ange en Host: header om follow_location är aktiverat.
- user_agent string
- Värde att skicka med User-Agent: header. Detta värde används endast om user-agent inte specificeras i header-kontaktalternativet ovan.
Som standard används user_agent-inställningen från php.ini.
- content string
- Ytterligare data som ska skickas efter headers. Används vanligtvis med POST- eller PUT-förfrågningar.
- proxy string
- URI som anger adressen till proxyservern (t.ex. tcp://proxy.example.com:5100).
- request_fulluri bool
- När denna är satt till true kommer hela URI att användas när förfrågan konstrueras (t.ex. GET http://www.example.com/path/to/file.html HTTP/1.0). Även om detta är ett icke-standardiserat förfrågningsformat kräver vissa proxyservrar det.
Standardvärdet är false.
- follow_location int
- Följ Location-header omdirigeringar. Sätt till 0 för att inaktivera.
Standardvärdet är 1.
- max_redirects int
- Maximalt antal omdirigeringar att följa. Värde 1 eller mindre innebär att inga omdirigeringar följs.
Standardvärdet är 20.
- protocol_version float
- HTTP-protokollversion.
Standardvärdet är 1.1 från och med PHP 8.0.0; tidigare var standardvärdet 1.0.
- timeout float
- Läs timeout i sekunder, specificerad som en float (t.ex. 10.5).
Som standard används default_socket_timeout-inställningen från php.ini.
- ignore_errors bool
- Hämta innehållet även vid felstatuskoder.
Standardvärdet är false.
Exempel
Exempel #1 Hämta en sida och skicka POST-data
<?php $postdata = http_build_query( array( 'var1' => 'some content', 'var2' => 'doh' ) ); $opts = array('http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $postdata ) ); $context = stream_context_create($opts); $result = file_get_contents('http://example.com/submit.php', false, $context); ?>
Exempel #2 Ignorera omdirigeringar men hämta headers och innehåll
<?php $url = "http://www.example.org/header.php"; $opts = array('http' => array( 'method' => 'GET', 'max_redirects' => '0', 'ignore_errors' => '1' ) ); $context = stream_context_create($opts); $stream = fopen($url, 'r', false, $context); // Header-information samt metadata // om strömmen var_dump(stream_get_meta_data($stream)); // Faktiskt data vid $url var_dump(stream_get_contents($stream)); fclose($stream); ?>
Noter
- Not
- Underliggande socket-kontaktalternativ
- Ytterligare kontextalternativ kan stödjas av den underliggande transporten. För http:// streams, se kontextalternativ för tcp:// transporten. För https:// streams, se kontextalternativ för ssl:// transporten.
- Not
- HTTP statusrad
- När denna stream-wrapper följer en omdirigering, kanske wrapper_data som returneras av stream_get_meta_data() inte nödvändigtvis innehåller HTTP-statusraden som faktiskt gäller för innehållsdatan vid index 0.
array ( 'wrapper_data' => array ( 0 => 'HTTP/1.0 301 Moved Permanently', 1 => 'Cache-Control: no-cache', 2 => 'Connection: close', 3 => 'Location: http://example.com/foo.jpg', 4 => 'HTTP/1.1 200 OK', ...
Den första förfrågan returnerade en 301 (permanent omdirigering), så stream-wrappern följde automatiskt omdirigeringen för att få ett 200-svar (index = 4).
Se även
Sidslut
Orginalhemsidan på Engelska : https://www.php.net/manual/en/context.http.php
PHP
Språkreferens
Kontextalternativ och parametrar
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webserver.