Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Dienstprogrammfunktion: stream_context_create simuliert POST/GET

PHP-Dienstprogrammfunktion: stream_context_create simuliert POST/GET

WBOY
WBOYOriginal
2016-08-08 09:23:06868Durchsuche

PHP-Praktisches Funktionshandbuch: stream_context_create() simuliert POST/GET

Manchmal müssen wir POST/GET und andere Anforderungen auf der Serverseite simulieren, d. h. im PHP-Programm Wie implementiert man eine Simulation? Mit anderen Worten: Wenn Ihnen in einem PHP-Programm ein Array gegeben wird, wie können Sie dieses Array an eine andere Adresse posten/erhalten? Natürlich geht das ganz einfach mit CURL, aber was ist, wenn Sie nicht die CURL-Bibliothek verwenden? Tatsächlich ist in PHP bereits eine verwandte Funktion implementiert, und diese Funktion ist stream_context_create(), über die ich als Nächstes sprechen werde.
Zeigen Sie sich den Code direkt an, so geht es am besten:
$data = array( 'foo'=>'bar', 'baz'=>'boom', 'site'=>'www.lai18.com', 'name'=>'lai18'); $data = http_build_query($data); //$postdata = http_build_query($data); $options = array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type:application/x-www-form-urlencoded', 'content' => $data //'timeout' => 60 * 60 // 超时时间(单位:s) ) ); $url = "http://www.lai18.net/"; $context = stream_context_create($options); $result = file_get_contents($url, false, $context); echo $result;<br>Der Code von http://www.lai18.com lautet: <br><precourier new margin-top:0px margin-bottom:10px line-height:20px word-break:break-all word-wrap:break-word white-space:pre-wrap background-color:rgb>$data = $_POST; echo '<pre class="brush:php;toolbar:false">'; print_r( $data ); echo '';
Das laufende Ergebnis ist:
Array ( [foo] => bar [baz] => boom [site] => www.lai18.com [name] => lai18 )
Einige wichtige Punkte zur Erklärung (Referenz: http://www.lai18.com/content/425476.html):
1 verwendet die Funktion http_build_query( ). Wenn Sie mehr wissen möchten, können Sie sich auf stream beziehen, das auch in Dateisystemen verwendet werden kann. Es ist nützlicher für Funktionen wie file_get_contents, file_put_contents und readfile, die direkt mit Dateinamen ohne Dateihandles arbeiten. Das Hinzufügen von Headern zu stream_context_create ist nur ein Teil der Funktion. Sie können auch Proxys, Timeouts usw. definieren. Dies macht die Funktion des Zugriffs auf die Bahn nicht schwächer als Curl.
4. Die Funktion von stream_context_create(): Erstellen und Zurückgeben eines Textdatenstroms und Anwenden verschiedener Optionen. Sie kann für Timeout-Einstellungen, Proxy-Server, Anforderungsmethoden und Header-Informationseinstellungen von fopen(), file_get_contents() verwendet werden. und andere Prozesse.
5. stream_context_create kann auch die Timeout-Verarbeitung von file_get_contents lösen, indem es die Timeout-Option hinzufügt:
$opts = array( 'http'=>array( 'method'=>"GET", 'timeout'=>60, ) ); //创建数据流上下文 $context = stream_context_create($opts); $html =file_get_contents('http://www.lai18.com', false, $context); //fopen输出文件指针处的所有剩余数据: //fpassthru($fp); //fclose()前使用

Erweiterte Lektüre

Die Liste der Themen in diesem Artikel lautet wie folgt:

1 Vervollständigung der PHP-Funktion: get_magic_quotes_gpc ()

2 Vervollständigung der PHP-Funktion: error_reporting()

3 Vervollständigung der PHP-Funktion: array_splice()

4 PHP-Funktionsvervollständigung: isset()

5 PHP-Funktionsvervollständigung: array_multisort()

6 PHP-Funktionsvervollständigung: urlencode()

7 PHP-Funktionsvervollständigung: preg_match()

8 PHP-Funktionsvervollständigung: header()

9 PHP-Funktionsvervollständigung: getenv()

10 Vervollständigung der PHP-Funktion: list()

11 Vervollständigung der PHP-Funktion: mysql_num_rows()

12 Vervollständigung der PHP-Funktion: explosion()

13 Vervollständigung der PHP-Funktion: mysql_fetch_array()

14 Vervollständigung der PHP-Funktion: number_format()

15 Vervollständigung der PHP-Funktion: mysql_query()

16PHP-Funktionsvervollständigung: empty()

17 PHP-Funktionsvervollständigung: call_user_func()

18 PHP-Funktionsvervollständigung: parse_url()

19 PHP-Funktionsvervollständigung: import_request_variables()

20 PHP-Funktionsvervollständigung: ImageCopyResamples()

21 PHP-Funktionsvervollständigung: HTML-Tag entfernen strip_tags()

22 PHP-Funktionsvervollständigung: Struktur und Inhalt des Ausgabearrays var_dump()

23 PHP-Funktionsvervollständigung: var_export()

24 PHP Funktionsvervollständigung: Beurteilung Ob die Variable eine Zahl ist is_numeric()

25 PHP-Funktionsvervollständigung: http_build_query() erstellt eine URL-Zeichenfolge

26PHP praktisches Funktionshandbuch: stream_context_create( ) simuliert POST/GET

27 PHP-Funktionsabschluss: shuffle() nimmt mehrere zufällige Elemente aus dem Array

28 PHP-Funktionsabschluss: session_id()

29 PHP-Funktionsvervollständigung: nl2br()- und nl2p()-Funktionen

30 PHP-Funktionsvervollständigung: session_name()

31 PHP-geplante Task-Funktion „ignore_user_abort“. Implementierungsmethode

32 So verwenden Sie die Funktion error_log() in PHP

33PHP-Dienstprogramm function-array_change_key_case() konvertiert die Schlüssel des Arrays in Groß- und Kleinbuchstaben

34PHP-Dienstprogramm function-function_exists () Überprüfen Sie, ob die Funktion definiert wurde

35PHP-Dienstprogramm function-array_intersect() berechnet die Schnittmenge von zwei oder mehr Arrays

36PHP-Dienstprogramm function-array_diff() berechnet den Array-Differenzsatz zwischen

37PHP-Dienstprogramm function-compact() konvertiert bekannte Variablen in Arrays

38PHP-Dienstprogramm function- extract() wandelt Arrays in entsprechende Schlüsselwerte für Variablen um

39PHP-Dienstprogramm function-array_count_values() zählt die Anzahl des Vorkommens von Elementen in einem Array

40PHP-Hilfsprogrammfunktion- getopt() ruft Optionen aus der Liste der Befehlszeilenargumente ab

41 Praktische PHP-Funktion String-Funktionsklassifizierung

42 Verwenden Sie die PHP-eigene Filterfunktion zur Datenüberprüfung

Das Obige stellt die praktischen Funktionen von PHP vor: stream_context_create simuliert POST/GET, einschließlich des Inhalts. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn