注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

ㄨiao愛

转载技术文档

 
 
 

日志

 
 

PHP中使用CURL请求页面,使用fiddler进行抓包  

2014-03-06 23:59:15|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在PHP中使用CURL访问页面:

1
2
3
4
5
6
7
8
9
10
11
de><?phpde>
 
de>$chde> de>= curl_init(de>de>'http://www.baidu.com'de>de>); de>
de>curl_setopt(de>de>$chde>de>, CURLOPT_RETURNTRANSFER, 1);de>
de>curl_setopt(de>de>$chde>de>, CURLOPT_HEADER, 1);de>
de>// 3. 执行并获取HTML文档内容de>
de>$outputde> de>= curl_exec(de>de>$chde>de>);de>
de>// 4. 释放curl句柄de>
de>curl_close(de>de>$chde>de>);de>
de>echode> de>$outputde>de>;de>
de>?>de>

 可以显示页面,并且可以使用curl_getinfo函数获取请求头。

但不能直观的查看,而且无法使用Fiddler进行抓包。

经过搜索后终于找到解决办法:

Fiddler的抓包方式:打开Fiddler后,自动设置浏览器代理到127.0.0.1:8888。

所有浏览的网页均通过该端口进行转发,固可以抓包。

修改PHP代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
de><?phpde>
 
de>$chde> de>= curl_init(de>de>'http://www.baidu.com'de>de>); de>
de>curl_setopt(de>de>$chde>de>, CURLOPT_RETURNTRANSFER, 1);de>
de>curl_setopt(de>de>$chde>de>, CURLOPT_HEADER, 1);de>
 
de>curl_setopt(de>de>$chde>de>,CURLOPT_PROXY,de>de>'127.0.0.1:8888'de>de>);de>de>//设置代理服务器 de>
de>curl_setopt(de>de>$chde>de>,CURLOPT_SSL_VERIFYPEER,0);de>de>//若PHP编译时不带openssl则需要此行 de>
de>// 3. 执行并获取HTML文档内容de>
de>$outputde> de>= curl_exec(de>de>$chde>de>);de>
de>// 4. 释放curl句柄de>
de>curl_close(de>de>$chde>de>);de>
de>echode> de>$outputde>de>;de>
de>?>de>

 发现返回:

HTTP/1.1 504 Fiddler - Receive Failure Date: Tue, 08 Oct 2013 15:22:50 GMT Content-Type: text/html; charset=UTF-8 Connection: close Timestamp: 23:22:50.647 [Fiddler] ReadResponse() failed: The server did not return a response for this request.Server returned 0 bytes. 

抓包信息为:

上行

GET http://www.baidu.com HTTP/1.1
Host: www.baidu.com
Accept: */*
Connection: Keep-Alive

下行

复制代码
HTTP/1.1 504 Fiddler - Receive Failure
Date: Tue, 08 Oct 2013 15:22:50 GMT
Content-Type: text/html; charset=UTF-8
Connection: close
Timestamp: 23:22:50.647

[Fiddler] ReadResponse() failed: The server did not return a response for this request.Server returned 0 bytes.                                                                                                                                                                                                                                                                                                                                                                                                                 
复制代码

经过分析后发现,请求域名,必须以“/”结尾。

更改后代码

复制代码
<?php

$ch = curl_init('http://www.baidu.com/'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);

curl_setopt($ch,CURLOPT_PROXY,'127.0.0.1:8888');//设置代理服务器 
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);//若PHP编译时不带openssl则需要此行 
// 3. 执行并获取HTML文档内容
$output = curl_exec($ch);
// 4. 释放curl句柄
curl_close($ch);
echo $output;
?>
复制代码

效果:

Fiddler:

上行:

GET http://www.baidu.com/ HTTP/1.1
Host: www.baidu.com
Accept: */*
Connection: Keep-Alive

 

下行:

复制代码
HTTP/1.1 200 OK
Date: Tue, 08 Oct 2013 15:51:19 GMT
Server: BWS/1.0
Content-Length: 11002
Content-Type: text/html;charset=utf-8
Cache-Control: private
BDPAGETYPE: 1
BDUSERID: 0
BDQID: 0x84be7be11e5c433f
Set-Cookie: BDSVRTM=1; path=/
Set-Cookie: H_PS_PSSID=3409_3381_2777_1426_2975_2980_3501; path=/; domain=.baidu.com
Set-Cookie: BAIDUID=68722482960D705B97CAF69731DF6C19:FG=1; expires=Tue, 08-Oct-43 15:51:19 GMT; path=/; domain=.baidu.com
Expires: Tue, 08 Oct 2013 15:51:19 GMT
P3P: CP=" OTI DSP COR IVA OUR IND COM "
Connection: Keep-Alive

<!DOCTYPE html><!--STATUS OK--><html><head><meta ...略...
复制代码

 

Web:

 

 

 

 

$ch = curl_init('https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1.min.js');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);

curl_setopt($ch,CURLOPT_PROXY,'127.0.0.1:8888');//设置代理服务器
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);//若PHP编译时不带openssl则需要此行
// 3. 执行并获取HTML文档内容
$output = curl_exec($ch);
// 4. 释放curl句柄
curl_close($ch);


http://www.cnblogs.com/comsokey

  评论这张
 
阅读(381)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017