V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
OldDriver8848
V2EX  ›  问与答

请教爬虫大神,这种数据要怎么解?

  •  
  •   OldDriver8848 · 2021-10-22 10:31:25 +08:00 · 2431 次点击
    这是一个创建于 1126 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这是我客户端抓到的请求数据

    请求头是 Content-Type:application/x-www-form-urlencoded

    但是请求内容 只能以 hex 的方式查看数据
    没见过这种方式啊,不知道怎么解,是不是加密了以二进制的方式传的啊


    26 条回复    2021-10-22 17:47:25 +08:00
    Yother
        1
    Yother  
       2021-10-22 10:34:48 +08:00 via Android
    一般来说是加密,但也可能是数据流形式。
    Yother
        2
    Yother  
       2021-10-22 10:40:56 +08:00 via Android
    @Yother 这是数据流,不是加密。😂
    leir
        3
    leir  
       2021-10-22 10:41:51 +08:00
    看看这个请求,在页面上正常触发的来源,然后跟踪一下这个请求响应的数据流
    OldDriver8848
        4
    OldDriver8848  
    OP
       2021-10-22 10:59:07 +08:00
    @Yother #2 左边是 request,右边是 response
    按正常 http 的情况它反馈的 Content-type 是 text/html,应该是 html 格式的纯文本
    但是现在只能看到这种数据流形式的数据
    OldDriver8848
        5
    OldDriver8848  
    OP
       2021-10-22 10:59:52 +08:00
    @leir #3 左边是请求的 body 内容, 右边就是响应的数据流,现在是无法解析
    hidemyself
        6
    hidemyself  
       2021-10-22 11:01:08 +08:00
    方便发个请求地址吗
    OldDriver8848
        7
    OldDriver8848  
    OP
       2021-10-22 11:03:35 +08:00
    正常的请求是这样的
    header 的 Content-Type: text/html;charset=utf-8
    body 可以解析出纯文本



    OldDriver8848
        8
    OldDriver8848  
    OP
       2021-10-22 11:06:42 +08:00
    @hidemyself #6

    curl 'http://e3s-client.dongfeng-nissan.com.cn/HttpService.ashx?_=1634871896&rnd=1002a1d694e4939a1d3b958a7ccdf0a4&p=' \
    -X POST \
    -H 'Host: e3s-client.dongfeng-nissan.com.cn' \
    -H 'Content-Length: 580' \
    -H 'Content-Type: application/x-www-form-urlencoded' \
    --cookie 'ARRAffinity=4a98f76654e2ae1e021940be9a70d26ed6b943ce238bfb506598ddbf7f6b38bc; ASP.NET_SessionId=yryfztxhg0gixabxmunt2xbj; lyos=cee945ec4aff41b2e05341f01cac7d46NzpCODoyQzowNDBFMjpDOTowMF8yOQsAAAA%3dbe6e23bc74edd60b4a5be3f16c67210c; interfacemsg=' \

    这样的行不
    主要是 body 的内容不知道怎么回事
    willy0
        9
    willy0  
       2021-10-22 11:55:58 +08:00
    你的想法很危险
    0o0o0o0
        10
    0o0o0o0  
       2021-10-22 13:00:24 +08:00
    调试一下 js
    bk201
        11
    bk201  
       2021-10-22 13:03:54 +08:00
    图片看不清,打开的话 ERROR: ACCESS DENIED
    lesterholy
        12
    lesterholy  
       2021-10-22 13:05:31 +08:00
    hronro
        13
    hronro  
       2021-10-22 13:24:48 +08:00
    @OldDriver8848 #7 你这个截图里面是什么工具啊?
    OldDriver8848
        14
    OldDriver8848  
    OP
       2021-10-22 13:43:24 +08:00
    @0o0o0o0 #10 没有 js,是个客户端,抓的包,看起来是 HTTP 请求的
    OldDriver8848
        15
    OldDriver8848  
    OP
       2021-10-22 13:44:06 +08:00
    @bk201 #11 直接访问的确不行,请求方式不正确
    OldDriver8848
        16
    OldDriver8848  
    OP
       2021-10-22 13:44:22 +08:00
    @hronro #13 Proxyman
    OldDriver8848
        17
    OldDriver8848  
    OP
       2021-10-22 13:51:51 +08:00
    @bk201 #11 我试了一下,新选项卡打开 ACCESS DENIED 后,按一下 Enter 键就可以看到了
    hronro
        18
    hronro  
       2021-10-22 13:59:50 +08:00
    @OldDriver8848 #16
    谢谢,我才发现我之前买了这个软件但还没怎么用过😂
    leir
        19
    leir  
       2021-10-22 14:05:04 +08:00
    @OldDriver8848 如果是客户端的话就需要逆向分析客户端了,web 就是分析 JS
    cxe2v
        20
    cxe2v  
       2021-10-22 14:10:54 +08:00
    @bk201 #11 图片在 RROR: ACCESS DENIED 后需要再刷新一下才会出来,应该考虑了 refer
    OldDriver8848
        21
    OldDriver8848  
    OP
       2021-10-22 14:31:32 +08:00
    @lesterholy #12

    The content type "application/x-www-form-urlencoded" is inefficient for sending large quantities of binary data or text containing non-ASCII characters. The content type "multipart/form-data" should be used for submitting forms that contain files, non-ASCII data, and binary data.

    看他的意思是 "application/x-www-form-urlencoded" 可以传二进制,但是效率不高

    不过对我帮助也不大
    OldDriver8848
        22
    OldDriver8848  
    OP
       2021-10-22 15:06:25 +08:00
    @leir #19
    逆向没怎么做过,目前只能看到方法名,看不到具体的实现,不过能看到 encryptKey 什么的,看不到实现也不知道如何处理

    Colorful
        23
    Colorful  
       2021-10-22 16:49:20 +08:00
    这个转 html 然后再找到相应 的 class 或者 id 就可以了
    OldDriver8848
        24
    OldDriver8848  
    OP
       2021-10-22 17:05:56 +08:00
    @Colorful #23
    这个转不了 HTML 的,请求的 body 与返回的 body,内容读不了纯文本,不知道如何解析
    leir
        25
    leir  
       2021-10-22 17:42:36 +08:00
    这种没有混淆的多花些时间就能搞明白了
    OldDriver8848
        26
    OldDriver8848  
    OP
       2021-10-22 17:47:25 +08:00
    @leir #25 这种有没有办法连源码一起反编译出来,用什么工具可以整出来?看起来是 C#开发的客户端,直接抓包感觉可以放弃了,请求响应内容好像都加密过的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   991 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 21:15 · PVG 05:15 · LAX 13:15 · JFK 16:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.