Home  >  Article  >  Backend Development  >  PHP utility function: stream_context_create simulates POST/GET

PHP utility function: stream_context_create simulates POST/GET

WBOY
WBOYOriginal
2016-08-08 09:23:06904browse

PHP Practical Function Manual: stream_context_create() simulates POST/GET

Sometimes, we need to simulate POST/GET and other requests on the server side, that is, to implement simulation in the PHP program. How to do it? In other words, in a PHP program, if you are given an array, how do you POST/GET this array to another address? Of course, it's easy to do it using CURL, but what if you don't use the CURL library? In fact, there is already a related function implemented in PHP, and this function is stream_context_create() that I will talk about next.
Show you the code directly, this is the best way:
$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>The code of http://www.lai18.com is: <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 '';
The running result is:
Array ( [foo] => bar [baz] => boom [site] => www.lai18.com [name] => lai18 )
Some key points to explain (reference: http:/ /www.lai18.com/content/425476.html):
1. The above program uses the http_build_query() function. If you need to know more, you can refer to stream), which can also be used in the file system. It is more useful for functions like file_get_contents, file_put_contents, and readfile that operate directly on file names without file handles. Adding headers to stream_context_create is only part of the function. You can also define proxies, timeouts, etc. This makes the function of accessing the web not weaker than curl.
4. The function of stream_context_create(): Create and return a text data stream and apply various options. It can be used for special processes such as timeout settings, proxy servers, request methods, and header information settings for fopen(), file_get_contents() and other processes.
5. stream_context_create can also solve file_get_contents timeout processing by adding the timeout option:
$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()前使用

Extended reading

The list of topics in this article is as follows:

1 PHP function completion: get_magic_quotes_gpc()

2 PHP function completion: error_reporting()

3 PHP function completion: array_splice()

4 PHP function completion: isset()

5 PHP function completion: array_multisort()

6 PHP function completion: urlencode()

7 PHP function completion :preg_match()

8 PHP function completion: header()

9 PHP function completion: getenv()

10 PHP function completion: list()

11 PHP function completion: mysql_num_rows()

12 PHP function completion: explode()

13 PHP function completion: mysql_fetch_array()

14 PHP function completion: number_format()

15 ​​PHP function completion: mysql_query()

16 PHP function completion Finish: empty()

17 PHP function completion: call_user_func()

18 PHP function completion: parse_url()

19 PHP function completion: import_request_variables()

20 PHP function completion: ImageCopyResamples()

21PHP function completion: remove HTML tags strip_tags()

22PHP function completion: output array structure and content var_dump()

23PHP function completion: var_export()

24PHP function completion: determine whether the variable Completion of the number is_numeric()

25 PHP function: http_build_query() constructs a URL string

26PHP practical function manual: stream_context_create() simulates POST/GET

27 PHP function completion: shuffle() takes several arrays Random elements

28 PHP function completion: session_id()

29 PHP function completion: nl2br() and nl2p() functions

30 PHP function completion: session_name()

31 PHP scheduled task ignore_user_abort function implementation Method

32How to use the error_log() function in PHP

33PHP utility function-array_change_key_case() converts the keys of the array to uppercase and lowercase

34PHP utility function-function_exists() detects whether the function has been defined

35PHP utility Function-array_intersect() calculates the intersection of two or more arrays

36PHP utility function-array_diff() calculates the difference between arrays

37PHP utility function-compact() converts known variables into arrays

38PHP utility function-extract() converts the array into corresponding key-value pair variables

39PHP utility function-array_count_values() counts the number of occurrences of elements in the array

40PHP utility function-getopt() obtains from the command line parameter list Options

41PHP practical function String function classification

42Use PHP’s own filter function for data verification

The above introduces the practical functions of PHP: stream_context_create simulates POST/GET, including the content. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn