文档详情

PHP中常用的6种GET和POST请求发送方法详解.docx

发布:2017-12-23约3.37千字共4页下载文档
文本预览下载声明
PHP中常用的6种GET和POST请求发送方法详解在php开发中,我们常常需要远程抓取数据,因此对于php新人而言,处理远程请求、保证数据的安全性,是必须掌握的内容,也是非常重要的内容。下面题主就将为大家分享6中常见的GET和POST请求发送方法。1、用file_get_contents 以get方式获取内容:?php $url = / ; $html = file_get_contents ( $url ); echo $html ; ?2、用fopen打开url,用get方式获取$fp = fopen ( $url , r ); stream_get_meta_data( $fp ); while (! feof ( $fp )) { $result .= fgets ( $fp , 1024); } echo url body: $result ; fclose( $fp );3、用file_get_contents 以post方式获取内容:$data = array ( foo = bar ); $data = http_build_query($data); $opts = array ( http = array ( method = POST , header = Content-type: application/x-www-form-urlencodedrn . Content-Length: . strlen($data) . rn , content = $data ) ); $context = stream_context_create($opts); $html = file_get_contents( , false , $context); echo $html; 4、用fsockopen函数打开url,以get方式获取完整的数据,包括header和body,fsockopen需要 PHP.ini 中 allow_url_fopen 选项开启function get_url ( $url , $cookie =false) { $url = parse_url ( $url ); $query = $url [path]. ? . $url [query]; echo Query: . $query ; $fp = fsockopen ( $url [host], $url [port]? $url [port]:80 , $errno , $errstr , 30); if (! $fp ) { return false; } else { $request = GET $query HTTP/1.1rn ; $request .= Host: $url[host]rn ; $request .= Connection: Closern ; if ( $cookie ) $request .= Cookie: $cookien ; $request .= rn ; fwrite( $fp , $request ); while (!@ feof ( $fp )) { $result .= @ fgets ( $fp , 1024); } fclose( $fp ); return $result ; } } //获取url的html部分,去掉header function GetUrlHTML( $url , $cookie =false) { $rowdata = get_url( $url , $cookie ); if ( $rowdata ) { $body = stristr ( $rowdata , rnrn ); $body = substr ( $body ,4, strlen ( $body )); return $body ; } return false; }5、用fsockopen函数打开url,以POST方式获取完整的数据,包括header和bodyfunction HTTP_Post( $URL , $data , $cookie , $referrer = ) { // parsing the given URL $URL_Info = parse_url ( $URL ); // Building referrer if ( $referrer == ) // if not given use this script as referrer $referrer = 111 ; // making string from $da
显示全部
相似文档