Jadual Kandungan
延伸阅读
Rumah pembangunan bahagian belakang tutorial php PHP实用函数手册:stream_context_create()模拟POST/GET

PHP实用函数手册:stream_context_create()模拟POST/GET

Jun 23, 2016 pm 01:33 PM

PHP实用函数手册:stream_context_create()模拟POST/GET

有时候,我们需要在服务器端模拟 POST/GET 等请求,也就是在 PHP 程序中去实现模拟,改怎么做到呢?或者说,在 PHP 程序里,给你一个数组,如何将这个数组 POST/GET 到另外一个地址呢?当然,使用 CURL 很容易办到,那么如果不使用 CURL 库,又该怎么办呢?其实,在 PHP 里已经有相关的函数实现了,这个函数就是接下来要讲的 stream_context_create()。

直接 show you the code,这是最好的方法:

$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;
Salin selepas log masuk


http://www.lai18.com 的代码为:

$data = $_POST;echo '<pre class="brush:php;toolbar:false">';print_r( $data );echo '
Salin selepas log masuk
';



运行结果为:

Array(    [foo] => bar    [baz] => boom    [site] => www.lai18.com    [name] => lai18)
Salin selepas log masuk



一些要点讲解(参考:http://www.lai18.com/content/425476.html):

1. 以上程序用到了 http_build_query() 函数,如果需要了解,可以参看 stream),也可用于文件系统(file system)。对于像 file_get_contents、file_put_contents、readfile直接使用文件名操作而没有文件句柄的函数来说更有用。stream_context_create增加header头只是一部份功能,还可以定义代理、超时等。这使得访问web的功能不弱于curl。

4. stream_context_create() 作用:创建并返回一个文本数据流并应用各种选项,可用于fopen(),file_get_contents()等过程的超时设置、代理服务器、请求方式、头信息设置的特殊过程。

5. stream_context_create 还能通过增加 timeout 选项解决file_get_contents超时处理:

$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()前使用
Salin selepas log masuk

延伸阅读

此文章所在专题列表如下:

1PHP函数补完:get_magic_quotes_gpc()

2PHP函数补完:error_reporting()

3PHP函数补完:array_splice()

4PHP函数补完:isset()

5PHP函数补完:array_multisort()

6PHP函数补完:urlencode()

7PHP函数补完:preg_match()

8PHP函数补完:header()

9PHP函数补完:getenv()

10PHP函数补完:list()

11PHP函数补完:mysql_num_rows()

12PHP函数补完:explode()

13PHP函数补完:mysql_fetch_array()

14PHP函数补完:number_format()

15PHP函数补完:mysql_query()

16PHP函数补完:empty()

17PHP函数补完:call_user_func()

18PHP函数补完:parse_url()

19PHP函数补完:import_request_variables()

20PHP函数补完:ImageCopyResamples()

21PHP函数补完:移除HTML标签strip_tags()

22PHP函数补完:输出数组结构与内容var_dump()

23PHP函数补完:var_export()

24PHP函数补完:判断变量是否为数字is_numeric()

25PHP函数补完:http_build_query()构造URL字符串

26PHP实用函数手册:stream_context_create()模拟POST/GET

27PHP函数补完:shuffle()取数组若干个随机元素

28PHP函数补完:session_id()

29PHP函数补完:nl2br()与nl2p()函数

30PHP函数补完:session_name()

31php计划任务之ignore_user_abort函数实现方法

32PHP中error_log()函数的使用方法

33PHP实用函数-array_change_key_case()将数组的键转换大小写

34PHP实用函数-function_exists()检测函数是否已定义

35PHP实用函数-array_intersect()计算两个或多个数组的交集

36PHP实用函数-array_diff()计算数组间的差集

37PHP实用函数-compact()将已知变量转换成数组

38PHP实用函数-extract()将数组转换成对应键值对变量

39PHP实用函数-array_count_values()统计数组中元素出现的次数

40PHP实用函数-getopt()从命令行参数列表中获取选项

41PHP实用函数 String函数分类

42使用PHP自带的filter函数进行数据校验


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bekerja dengan Data Sesi Flash di Laravel Bekerja dengan Data Sesi Flash di Laravel Mar 12, 2025 pm 05:08 PM

Laravel memudahkan mengendalikan data sesi sementara menggunakan kaedah flash intuitifnya. Ini sesuai untuk memaparkan mesej ringkas, makluman, atau pemberitahuan dalam permohonan anda. Data hanya berterusan untuk permintaan seterusnya secara lalai: $ permintaan-

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Mar 14, 2025 am 11:42 AM

Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

Respons HTTP yang dipermudahkan dalam ujian Laravel Respons HTTP yang dipermudahkan dalam ujian Laravel Mar 12, 2025 pm 05:09 PM

Laravel menyediakan sintaks simulasi respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif. Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas: Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

12 skrip sembang php terbaik di codecanyon 12 skrip sembang php terbaik di codecanyon Mar 13, 2025 pm 12:08 PM

Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

Terangkan konsep pengikatan statik lewat dalam PHP. Terangkan konsep pengikatan statik lewat dalam PHP. Mar 21, 2025 pm 01:33 PM

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Menyesuaikan/Memperluas Rangka Kerja: Cara Menambah Fungsi Custom. Menyesuaikan/Memperluas Rangka Kerja: Cara Menambah Fungsi Custom. Mar 28, 2025 pm 05:12 PM

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.

Ciri -ciri Keselamatan Rangka Kerja: Melindungi Kelemahan. Ciri -ciri Keselamatan Rangka Kerja: Melindungi Kelemahan. Mar 28, 2025 pm 05:11 PM

Artikel membincangkan ciri -ciri keselamatan penting dalam rangka kerja untuk melindungi daripada kelemahan, termasuk pengesahan input, pengesahan, dan kemas kini tetap.

See all articles