php发送get、post请求的6种方法简明总结
GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!
【 如果你想靠AI翻身,你先需要一个靠谱的工具! 】
方法1: 用file_get_contents 以get方式获取内容:
方法2: 用fopen打开url, 以get方式获取内容:
1 2 3 4 5 6 7 8 9 | <?php $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方式获取url
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php $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 (‘http: //localhost/e/admin/test.html', false, $context); echo $html ; ?> |
方法4:用fsockopen函数打开url,以get方式获取完整的数据,包括header和body,fsockopen需要 PHP.ini 中 allow_url_fopen 选项开启
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <?php 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和body
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | <?php function 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 $data foreach ( $data as $key => $value ) $values []=” $key =”.urlencode( $value ); $data_string =implode(“&”, $values ); // Find out which port is needed – if not given use standard (=80) if (!isset( $URL_Info [ "port" ])) $URL_Info [ "port" ]=80; // building POST-request: $request .=”POST “. $URL_Info [ "path" ].” HTTP/1.1n”; $request .=”Host: “. $URL_Info [ "host" ].”n”; $request .=”Referer: $referern ”; $request .=”Content-type: application/x-www-form-urlencodedn”; $request .=”Content-length: “. strlen ( $data_string ).”n”; $request .=”Connection: closen”; $request .=”Cookie: $cookien ”; $request .=”n”; $request .= $data_string .”n”; $fp = fsockopen ( $URL_Info [ "host" ], $URL_Info [ "port" ]); fputs ( $fp , $request ); while (! feof ( $fp )) { $result .= fgets ( $fp , 1024); } fclose( $fp ); return $result ; } ?> |
方法6:使用curl库,使用curl库之前,可能需要查看一下php.ini是否已经打开了curl扩展
1 2 3 4 5 6 7 8 9 10 11 | <?php $ch = curl_init(); $timeout = 5; curl_setopt ( $ch , CURLOPT_URL, ‘https: //www.jb51.net/'); curl_setopt ( $ch , CURLOPT_RETURNTRANSFER, 1); curl_setopt ( $ch , CURLOPT_CONNECTTIMEOUT, $timeout ); $file_contents = curl_exec( $ch ); curl_close( $ch ); echo $file_contents ; ?> |
- PHP中使用cURL实现Get和Post请求的方法
- Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
- java使用httpclient模拟post请求和get请求示例
- php中$_REQUEST、$_POST、$_GET的区别和联系小结
- php中使用Curl、socket、file_get_contents三种方法POST提交数据
- android之HttpPost&HttpGet使用方法介绍
- python通过get,post方式发送http请求和接收http响应的方法
- ajax中get和post的说明及使用与区别
- jQuery get和post 方法传值注意事项
- C#使用GET、POST请求获取结果
微信公众号搜索 “ 脚本之家 ” ,选择关注
程序猿的那些事、送书等活动等着你
相关文章
php中header跳转使用include包含解决参数丢失问题
在一个项目中遇到的问题,当用户登录成功时,用header跳转到首页,一直都是错,无法跳到你要的页面。最终度娘了许久才找到解决方法,这里分享给大家。2015-05-05php+ffmpeg如何获取视频缩略图、视频分辨率等相关信息
这篇文章主要给大家介绍了关于php+ffmpeg如何获取视频缩略图、视频分辨率等相关信息的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2022-03-03
最新评论