fidder 抓包的问题? 400 报错
php的curl模拟post传递数据,据说,传的格式是键值对的话,他会自动转换成表单形式提交。我想验证,写了一个curl.php,里面就是curl 以post方式请求一个网站。
然后,我访问curl.php, 打开fidder监测。发现只有到curl.php的请求,没有curl.php 文件里那个curl的请求。
请问是哪里出错了
Fiddler只是抓运行在第七层的http包的啊。。。你代码里跑的curl并不在这一层,你是抓不到的,你只能用wireshark这样的工具来抓######回复
@plugin : 你理解错了。######不对啊。curl.php 的程序curl请求,他也是一个http请求,并且是在本地的服务器里 跑的呀。######打个比方,fiddler是个摄像头,HTTP协议就是一道菜(准确地说,是HTTP协议的输入输出。你不关注这道菜里面有什么氨基酸和维生素,你只是食客,负责吃这道菜的),浏览器是一个厨房,从厨房到餐厅之间有一条路,fiddler就安装在这条路上,这条路就是代理,厨房的所有进和出都在fiddler的监视中。谁进了厨房,端出了什么菜,fiddler都能看到。 你为什么要监控?因为你怕服务员在端菜的时候在你菜里吐痰,或者你就是想知道这个餐馆都正在做哪些菜。其实你自己有眼睛也能看的,但你看不过来这么多,才需要这个摄像头。摄像头必须安装在这条路或过道上,才能看到菜的样子,安装在桌子底下是没用的。还有些地方是不让安装摄像头的,比如女厕所,并且女厕所也不是食客关注的地方。这个摄像头也不是安装在厨房的,你对做菜的细节不关注,你关注的只是输入输出。
厨房里有个厨师,厨师是做菜的,这个厨师就是web服务器,你可能认识这个厨师(本地服务器),也可能不认识。甚至厨师屁股上有颗痣你都知道,甚至这个厨师就是你儿子(你自己写的代码),你也知道这个厨师做菜很难吃(你代码太烂),但这些都和菜无关。你叫了个红烧耗子肉,这个红烧耗子肉就是你的curl.php里面用 curl请求干的事,但这个厨师不会做这个菜,于是呢,这个厨师从厨房的侧门出去,跑到隔壁饭店,找隔壁厨师赵日狗做了个红烧耗子肉,菜再让人端出来给你(赵日狗就是你curl.php里请求的第三方),这些你统统不知道。这个饭馆又不是只有一条路一道门,你fiddler监控的只是菜。这个厨师就是你的web服务器,厨师干啥了fiddler是看不到的,fiddler只是监控菜的,至于菜从怎么做的,它管不着,你也管不着。你只是看菜和吃菜的食客。
######回复 @plugin : 它能监听的也只是手机浏览器和基于webview的数据而已,手机上的代理设置和你PC上的代理设置是一个意思的。所谓webview就是APP里有基于网页的数据展示,比如OSC的安卓APP就是基于webview来展示的,实际调用的手机内置的浏览器。######再问一下,我有个同事都是给手机设置个代理,就可以用fidder监听请求了。这是什么原理######3Q.太感谢了######回复 @plugin : wireshark监听通过网卡的所有流量,并且它的位置更底层######感谢。通俗易懂。为什么wireshark就可以呢。他的工作原理和fidder区别在哪######拜楼上######关键就是:这个请求是从你服务器的核心里发出去的,并不是通过你本地浏览器发出去的,你的fildder抓的只是从浏览器里发出去的请求,所以抓取不到,这样说明白了吗
######回复 @plugin : 对啊,你手机走的是代理,代理是什么意思,是把你手机的请求转到你电脑上去请求,电脑上请求完毕后再把结果返回给手机,其本质还是利用你的电脑发起的http请求(模拟浏览器行为),我就是这样抓手机app包的######我一个同事经常用手机设置一个代理,fidder就可以监听手机发出去的http请求。这又为什么可以######以及,你需要把软件的名字输入对fiddler.
$ch = curl_init (); $options [CURLOPT_PROXY] = '127.0.0.1:8888'; curl_setopt_array ( $ch, $options );######
$ch = curl_init (); $options [CURLOPT_PROXY] = '127.0.0.1:8888'; curl_setopt_array ( $ch, $options );
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。