In PHP wird die Funktion " File_Get_Contents () verwendet, um Dateien zu lesen oder Inhalte von einer URL zu erhalten. Wenn Sie Remote -Ressourcen über das HTTP -Protokoll anfordern müssen, kann File_Get_Contents () einen Stream -Kontext kombinieren, um die Kontextoptionen für die Anforderung festzulegen. Wir können die Funktion von stream_context_get_options () verwenden, um die Konfigurationsinformationen des aktuellen Stream -Kontextes anzuzeigen und dann zu verstehen, wie die Anforderung gesendet wird.
Lassen Sie uns zunächst die grundlegende Verwendung von File_get_Contents () überprüfen. Mit dieser Funktion können Sie lokale oder Remote -Dateiinhalte lesen. Wenn es sich um eine Remotedatei handelt, verwendet PHP das HTTP -Protokoll, um die Anforderung zu stellen.
Wenn Sie einige zusätzliche HTTP -Anforderungsheader oder andere Optionen festlegen müssen, können Sie einen Stream -Kontext erstellen. Dieser Kontext enthält die verschiedenen von Ihnen festgelegten Konfigurationsoptionen.
Angenommen, Sie möchten auf eine Remote -URL zugreifen, könnte der Code so aussehen:
$url = 'http://www.example.com/data.json';
$response = file_get_contents($url);
echo $response;
Wenn Sie jedoch weitere Optionen festlegen möchten (z. B. Anforderungsheader, Anforderungsmethoden usw.), müssen Sie den Kontext verwenden, um dies zu tun:
Wir erstellen einen Stream-Kontext über die Funktion von Stream_Context_Create () und können HTTP-Requestoptionen festlegen. Hier ist ein Beispiel, das zeigt, wie HTTP -Anforderungsheader mit dem Kontext eingerichtet werden:
$options = [
'http' => [
'method' => 'GET',
'header' => "Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
]
];
$context = stream_context_create($options);
$url = 'http://m66.net/data.json';
$response = file_get_contents($url, false, $context);
echo $response;
In diesem Beispiel erstellen wir einen Kontext, der den HTTP -Anforderungsheader enthält, und übergeben ihn an file_get_contents (), um die Anforderung zu initiieren.
Sobald wir einen Kontext haben und seine Konfigurationselemente anzeigen möchten, können wir die Funktion von Stream_Context_get_Options () verwenden. Dadurch werden alle Konfigurationsinformationen für den aktuellen Stream -Kontext zurückgegeben, einschließlich Optionen für alle Einstellungen.
Zum Beispiel:
$options = [
'http' => [
'method' => 'GET',
'header' => "Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
]
];
$context = stream_context_create($options);
// Holen Sie sich die Informationen zur Kontextkonfiguration
$config = stream_context_get_options($context);
print_r($config);
Die Ausgabe wird angezeigt:
Array
(
[http] => Array
(
[method] => GET
[header] => Accept-language: en
Cookie: foo=bar
)
)
Durch Kombinieren von File_Get_Contents () und Stream_Context_get_Options () können Sie HTTP -Anforderungen mit benutzerdefinierten Konfigurationen erstellen und diese Konfigurationsinformationen bei Bedarf anzeigen. Dies ist sehr hilfreich für das Debuggen und eine tiefere Kontrolle der HTTP -Anfragen.
Mit File_Get_Contents () und Streaming -Kontext können Sie HTTP -Anforderungen flexibler senden.
Mit der Funktion von Stream_Context_get_Options () können Sie die Konfigurationsinformationen des aktuellen Stream -Kontextes anzeigen.
Diese Methode kann Ihnen helfen, Anforderungen zu debuggen oder die von Ihnen tatsächlich verwendete Anforderungskonfiguration anzusehen.
Hoffentlich hilft Ihnen dieser Artikel, zu verstehen, wie Sie File_get_Contents () und Stream_Context_get_Options () kombinieren, um die Kontextkonfiguration von HTTP -Anforderungen anzuzeigen und zu manipulieren.