文档章节

爬虫抓包,模拟提交、Fiddler和Postman结合Chrome的使用

爬墙
 爬墙
发布于 2016/05/23 11:24
字数 700
阅读 8152
收藏 0

这段时间在做爬虫,需要对目标网站抓包查看其源数据,然后模拟提交去获取数据,主要分为抓包和模拟两步:

一、抓包

  • 方法一:chrome自带的调试工具,切换到network即可查看到
  • 方法二:Fiddler抓包:适用与不支持chrome的网站,但只支持windows
  • 方法三:Paw,但该软件收费,request好像没有xml的选项
  • 方法四(建议采用该方法):postman+chrome的插件:先下载postman,然后用google账户登录后,打开右上方的按钮

    点击之后会提示安装chrome扩展,扩展安装好了之后,需要在chrome中开启扩展,并打开Postman


    然后chrome中正常访问提交,postman的左侧会有访问记录,选中关键性的访问记录,然后点击右边的 Send按钮即可看到模拟结果
  • 方法五:经过方法四之后,电脑会自动安装一个postman的原生app,可以直接使用,无需结合chrome,使用方法和方法四一致:

二、模拟提交

用第一步的方法三已经实现了模拟,用的是postman复制chrome状态,如果网站不支持chrome访问,可以用Fiddler抓包或ie最新版本(和chrome一样支持抓包),然后在postman中手动模拟即可

模拟出来之后就可以愉快在爬虫程序中设置header,post数据提交获取源数据了!

后续:post数据编码问题:可以先在chrome中访问一下目标网页,可以得到header头:Accept-Charset     gb2312  这样的类型,可以手动修改

附php远程提交xml数据代码:

<?php
$url = "http://localhost/response.php";
$data = '<xml><AppId>wxf8b4f85f3a794e77</AppId><ErrorType>1001</ErrorType><Description>错误描述</Description><AlarmContent>transaction_id=33534453534</AlarmContent><TimeStamp>1393860740</TimeStamp><AppSignature>f8164781a303f4d5a944a2dfc68411a8c7e4fbea</AppSignature><SignMethod>sha1</SignMethod></xml>';

$ch = curl_init();
$header[] = "Content-type: text/xml";//定义content-type为xml
curl_setopt($ch, CURLOPT_URL, $url); //定义表单提交地址
curl_setopt($ch, CURLOPT_POST, 1);   //定义提交类型 1:POST ;0:GET
curl_setopt($ch, CURLOPT_HEADER, 1); //定义是否显示状态头 1:显示 ; 0:不显示
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//定义请求类型
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//定义是否直接输出返回流
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //定义提交的数据,这里是XML文件
$result = curl_exec($ch);
curl_close($ch);//关闭


//远程端接收xml数据代码
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

补充:当你写爬虫抓不到APP请求包的时候该怎么办? 

© 著作权归作者所有

爬墙

爬墙

粉丝 14
博文 365
码字总数 88701
作品 0
美国
私信 提问
抓包和http请求工具

模拟http请求 1.postman postman是一款chrome的插件,可以用来模拟http请求。官网地址:https://www.getpostman.com/ 使用方式 选择请求方法,比如GET,输入url。下方有Authorization、heade...

RyanMiao
2016/11/20
269
0
利用postman进行接口测试并发送带cookie请求的方法

做web测试的基本上都用用到postman去做一些接口测试,比如测试接口的访问权限,对于某些接口用户A可以访问,用户B不能访问;比如有时需要读取文件的数据。在postman上要实现这样测试,我们就...

TheBeauty2016
2017/07/20
0
0
22 接口测试2 --- 抓包工具

常见抓包工具 HTTP抓包工具:Fiddler、Charles、Firebug、开发者工具等等。。。 Chrome开发者工具 打开Chrome 浏览器,按下F12快捷打开Chrome开发者工具 点击Network 标签 勾选 Preserve log...

米阳MeYoung
2018/07/03
0
0
Android调试神器stetho

概述 关于stetho,最开始是同事推荐的,主要用来通过Chrome的inspect命令来查看数据库数据的。配置好stetho环境后,在浏览器中输入chrome://inspect,找到需要调试的对象,点击inspect即可调...

jdfkldjlkjdl
2018/05/16
0
0
使用charles筛选、修改请求与响应

前言 最初接触charles是用到了模拟弱网环境,同fiddler一样,charle也是一款很强大的抓包工具,适用于windows和mac,之前用fiddler用习惯了,一直也没接触charles。最近重试起charles,get到...

迈阿密小白
2018/05/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
6
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
8
0
详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景

箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程度还是不够深... 普通函数和...

OBKoro1
昨天
7
0
轻量级 HTTP(s) 代理 TinyProxy

CentOS 下安装 TinyProxy yum install -y tinyproxy 启动、停止、重启 # 启动service tinyproxy start# 停止service tinyproxy stop# 重启service tinyproxy restart 相关配置 默认...

Anoyi
昨天
2
0
Linux创建yum仓库

第一步、搞定自己的光盘 #创建文件夹 mkdir -p /media/cdrom #挂载光盘 mount /dev/cdrom /media/cdrom #编辑配置文件使其永久生效 vim /etc/fstab 第二步,编辑yun源 vim /ect yum.repos.d...

究极小怪兽zzz
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部