使用fiddler抓取小程序图片的步骤 类似于下载高手工具 抓取大师

http://www.itjxue.com  2022-06-14 10:50  来源:未知  点击次数: 

1.安装Fiddler
2.Tools-options配置
 


问题一:如果无法抓取到PC微信小程序
解决办法:打开小程序,任务管理器找到所在位置,删除文件内容
一般路径为\Tencent\WeChat\XPlugin\Plugins\WMPFRuntime
删除runtime下所有文件夹
重启微信
拦截图片请求转存到本地方法,修改FiddlerScript文件
1、点击菜单Rules->Customize Rules
将如下代码复制到 static function Main() 的上方,然后ctrl + s .然后开始浏览相册,即可将图片保存至目录
(一定要有当前设置的目录)
 
保存之后,运行小程序即可
static function OnDone(oSession: Session) {
    FiddlerObject.log(oSession) 
    //判断host请求避免下载其他图片
    if(oSession.RequestHeaders["Host"] == "a0.cdn.xiaoenai.com"){
      //检查Content-Type 
      if (oSession.ResponseHeaders["Content-Type"]!=null || oSession.ResponseHeaders["content-type"]!=null)
      {
        //避免不规范标头
        var contentType=oSession.ResponseHeaders["Content-Type"];
        if (String.IsNullOrEmpty(contentType) )
          contentType=oSession.ResponseHeaders["content-type"];
            
        //判定请求是否图片
        if (contentType.Contains("image"))
        {
          //确定文件名(保存用)
          var fileName="";
          var fileIndex =    oSession.RequestHeaders.RequestPath.LastIndexOf ("/");
          if (fileIndex>0)
            fileName =    oSession.RequestHeaders.RequestPath.Substring (fileIndex+1);
  
          //如果文件名非法(名称含非法字符)
          if(fileName.IndexOf('?')>0 || fileName.IndexOf('&') )
            fileName=String.Empty;
          //输出日志(在Fiddler 主窗口,日志处输出)
          //FiddlerObject.log("Content-Type:"+ contentType +" RequestPath:"+oSession.RequestHeaders.RequestPath);
                
          //如果文件名为Null,自行创建一个文件名(Guid)
          if (String.IsNullOrEmpty( fileName))
          {
            fileName=Guid.NewGuid().ToString();
            var extName=    contentType.Replace("image/","");
            fileName=fileName+"."+extName;
          }
                
          //太小的图片不要,比如站位图片(自行调节)
          if (oSession.ResponseBody.Length>100)
          {
            //指定保存位置
            var saveDir="d:\\Temp\\";
            //不存在则创建文件夹
            if (!System.IO.Directory.Exists(saveDir))
              System.IO.Directory.CreateDirectory(saveDir);
                    
            //保存响应流
            oSession.SaveResponseBody(saveDir+fileName);
            //写日志
            FiddlerObject.log("[文件保存]:"+fileName)
          }
        }
      }
    }
  }
  


总结:个人感觉比下载高手工具软件、小程序助手、抓取大师等软件 抓取小程序图片素材好用很多

(责任编辑:IT教学网)

更多

推荐其它软件文章