php curl恳求信息和返回信息设置代码实例_.docx

上传人:啊飒飒 文档编号:11651131 上传时间:2021-08-28 格式:DOCX 页数:5 大小:12.68KB
返回 下载 相关 举报
php curl恳求信息和返回信息设置代码实例_.docx_第1页
第1页 / 共5页
php curl恳求信息和返回信息设置代码实例_.docx_第2页
第2页 / 共5页
php curl恳求信息和返回信息设置代码实例_.docx_第3页
第3页 / 共5页
php curl恳求信息和返回信息设置代码实例_.docx_第4页
第4页 / 共5页
php curl恳求信息和返回信息设置代码实例_.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《php curl恳求信息和返回信息设置代码实例_.docx》由会员分享,可在线阅读,更多相关《php curl恳求信息和返回信息设置代码实例_.docx(5页珍藏版)》请在三一文库上搜索。

1、php curl恳求信息和返回信息设置代码实例_ 这篇文章主要介绍了php curl恳求信息和返回信息设置代码实例,本文挺直给出代码实例,需要的伴侣可以参考下 在用curl抓取网页内容的时候,常常要知道,网页返回的恳求头信息,和恳求的相关信息,格外是在恳求过程中存在重定向的时候猎取恳求返回头信息对分析恳求内容很有关心 下面就是一个恳求中存在重定向的例子,我们的目的是要猎取最终实际恳求的url地址 $url=http:/ $ch=curl_init(); curl_setopt($ch, CURLOPT_URL, $url); /curl_setopt($ch, CURLOPT_POST, 1)

2、; /curl_setopt($ch, CURLOPT_POSTFIELDS, $params); curl_setopt($ch, CURLOPT_HEADER, 1);/返回response头部信息 curl_setopt($ch, CURLOPT_NOBODY, 1);/不返回response body内容 /curl_setopt($ch, CURLOPT_MAXREDIRS, 1);/设置恳求最多重定向的次数 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);/不挺直输出response curl_setopt($ch, CURLOPT_FOLLOW

3、LOCATION,1);/假如返回的response 头部中存在Location值,就会递归恳求 $content=curl_exec($ch); $rinfo=curl_getinfo($ch); echo $content,/br; echo hr; print_r($rinfo); 下面是输出的结果 HTTP/1.1 200 OKServer: nginxDate: Sat, 22 Dec 2021 06:17:44 GMTContent-Type: application/vnd.android.package-archiveConnection: closeLast-Modified

4、: Mon, 03 Dec 2021 16:00:00 GMTExpires: Tue, 03 Dec 2021 16:00:00 GMTCache-Control: max-age=31536000Content-Length: 2142149 Array( url = content_type = application/vnd.android.package-archive http_code = 200 header_size = 289 request_size = 196 filetime = -1 ssl_verify_result = 0 redirect_count = 0

5、total_time = 0.171621 namelookup_time = 0.135256 connect_time = 0.152913 pretransfer_time = 0.152916 size_upload = 0 size_download = 0 speed_download = 0 speed_upload = 0 download_content_length = 2142149 upload_content_length = 0 starttransfer_time = 0.171582 redirect_time = 0 certinfo = Array ( )

6、可以看到,经过递归恳求后最终得到一个200的response,但是这中方式不能得到最终一次恳求的url,也就是最终实际恳求的url,要想得到这个url就需要递归的分析每次恳求返回的response 下面是我写的一个猎取最终一次恳求url的递归函数 $url=http:/ php view plaincopy $realUrl=getRedirectLocation($url); echo /br-,$realUrl; function getRedirectLocation($url) $realUrl=$url; echo $url,/br; $ch=curl_init(); curl_se

7、topt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 1);curl_setopt($ch, CURLOPT_TIMEOUT, 3);/设置curl执行时间不超过3秒 /curl_setopt($ch, CURLOPT_NOBODY, 1);/这行不能要,假如添上,那么在遇到302重定向的时候就会得不到真正的恳求url curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $content=curl_exec($ch); /echo $content; $rinfo=curl_getinfo($ch); $matches=array(); if(preg_match(/Location:s+?(.+?)s+?/, $content,$matches) /echo $matches1,/br; unset($content); $realUrl=getRedirectLocation($matches1); if(isset($content) unset($content); return $realUrl; 更多信息请查看IT技术专栏 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1