HTTP-Kontextoptionen
  HTTP-Kontextoptionen — Liste der HTTP-Kontextoptionen
  
 
  Beschreibung
  
   Kontextoptionen für die Transportprotokolle http:// und
   https://.
  
  
 
  Optionen
  
   
    
     - 
      methodstring
- 
      
       GET,POSToder eine andere
       vom entfernten Server unterstützte HTTP-Methode.
 
       Der Standardwert ist GET.
 
- 
      
       Zusätzliche Kopfzeilen, die während der Anfrage gesendet werden. Die
       Werte in dieser Option überschreiben andere Werte (wie
       User-Agent:,Host:, undAuthentication:), selbst wenn sieLocation:-Weiterleitungen folgen. Es ist daher nicht
       empfehlenswert, eineHost:-Kopfzeile zu setzen, wennfollow_locationaktiviert ist.
 
       Der Wert der Zeichenkette sollte aus
       Schlüssel: Wert-Paaren bestehen, die durch\r\nbegrenzt sind, z. B."Content-Type: application/json\r\nConnection: close".
       Der Wert des Arrays sollte eine Liste vonSchlüssel: Wert-Paaren sein, z. B.["Content-Type: application/json", "Connection: close"].
 
- 
      user_agentstring
- 
      
       Der Wert, der mit der Kopfzeile User-Agent:gesendet
       wird. Dieser Wert wird nur verwendet, wenn der User-Agent
       nicht in der obigen Kontextoptionheaderangegeben wurde.
 
       Standardmäßig wird der Wert von
       user_agent aus der php.ini
       verwendet.
       
- 
      contentstring
- 
      
       Zusätzliche Daten, die nach den Kopfzeilen gesendet werden; wird in der
       Regel bei POST- oder PUT-Anfragen verwendet.
       
- 
      proxystring
- 
      
       Der URI, der die Adresse des Proxy-Servers angibt (z. B.
       tcp://proxy.example.com:5100).
 
- 
      request_fulluribool
- 
      
       Wenn auf truegesetzt, wird beim Aufbau der Anfrage der gesamte URI
       verwendet (z. B.GET http://www.example.com/path/to/file.html HTTP/1.0).
       Dies ist zwar kein Standard-Anfrageformat, wird aber von einigen
       Proxy-Servern verlangt.
 
       Der Standardwert ist false.
 
- 
      follow_locationint
- 
      
       Folgt den Weiterleitungen der Kopfzeile Location;
       zum Deaktivieren auf 0 setzen.
 
       Der Standardwert ist 1.
 
- 
      max_redirectsint
- 
      
       Die maximale Anzahl der zu verfolgenden Weiterleitungen. Der Wert
       1oder weniger bedeutet, dass keine Weiterleitungen
       verfolgt werden.
 
       Der Standardwert ist 20.
 
- 
      protocol_versionfloat
- 
      
       Die Version des HTTP-Protokolls.
       
       Seit PHP 8.0.0 ist der Standardwert 1.1; vorher war
       es1.0.
 
- 
      timeoutfloat
- 
      
       Das Zeitlimit für Lesevorgänge in Sekunden, angegeben durch einen Wert
       vom Typ float (z. B. 10.5).
 
       Standardmäßig wird der Wert von
       default_socket_timeout
       aus der php.ini verwendet.
       
- 
      ignore_errorsbool
- 
      
       Ruft den Inhalt auch dann ab, wenn ein Fehlerstatus vorliegt.
       
       Der Standardwert ist false.
 
 
 
  Beispiele
  
   
    Beispiel #1 Abrufen einer Seite mit Übermittlung von POST-Daten
    
<?php
$postdata = http_build_query(
    [
        'var1' => 'some content',
        'var2' => 'doh',
    ]
);
$opts = [
    'http' => [
        '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);
?>
     
    
  
  
   
    Beispiel #2 Weiterleitungen ignorieren, aber Kopfzeilen und Inhalt abrufen
    
<?php
$url = "http://www.example.org/header.php";
$opts = [
    'http' => [
        'method'        => 'GET',
        'max_redirects' => '0',
        'ignore_errors' => '1',
    ]
];
$context = stream_context_create($opts);
$stream = fopen($url, 'r', false, $context);
// die Header-Informationen sowie die Metadaten über den Stream
var_dump(stream_get_meta_data($stream));
// die eigentlichen Daten von $url
var_dump(stream_get_contents($stream));
fclose($stream);
?>
     
    
  
  
 
  Anmerkungen
  Hinweis: 
   Kontextoptionen für den zugrundeliegenden Socket-Stream
   
    Vom zugrundeliegenden Transport
    können zusätzliche Kontextoptionen unterstützt werden. Für
    http://-Streams, siehe Kontextoptionen für das
    Transportprotokoll tcp://. Für
    https://-Streams, siehe Kontextoptionen für das
    Transportprotokoll ssl://.
   
  
  Hinweis: 
   HTTP-Statuszeile
   
    Wenn dieser Stream-Wrapper einer Weiterleitung (Redirect) folgt, ist der
    Inhalt von Index 0 in den von
    stream_get_meta_data() zurückgegebenen
    wrapper_data nicht unbedingt die HTTP-Statuszeile für
    diesen Inhalt.
   
   
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',
    ...
 
   
    Die erste Anfrage lieferte eine 301 (permanente
    Weiterleitung), sodass der Stream-Wrapper automatisch der Weiterleitung
    folgte, bei der er eine 200-Antwort erhielt
    (index = 4).