zoukankan      html  css  js  c++  java
  • python-网络安全编程第九天(json模块、zoomeye采集)

    前言

     

    其实这篇应该是昨天必须完成的但是昨天emmmmm 学习进度有点慢 今天早上起来早点完成了这些的学习 昨天计划学习内容还差一道CTFemmm

    不管了 先写一下今天的计划 开始锻炼身体去。

    python-JSON模块

    JSON

    JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

    1. json.dumps()和json.loads()是json格式处理函数
      (1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码
      (2)json.loads()函数是将json格式数据转换为字典

    2、json.dump()和json.load()主要用来读写json文件函数

    1. json.dumps()

     json.dumps 用于将 Python 对象编码成 JSON 字符串。

    下面代码将 dics对象编码成json字符串并输出里面的值和输出类型

    执行输出

    2.json.loads()

    json.loads()函数是将json格式数据转换为字典

    下面代码联系上面的代码将编码后的json格式数据转换为字典格式

     

    执行输出

     

     json.dumps() 和json.loads() 演示的代码

     1 import json
     2 
     3 dics={"name":"xiaohua","age":"21"}
     4 
     5 #json.dumps()将python数据类型列表进行json格式编码
     6 json_dic=json.dumps(dics)
     7 print(json_dic)
     8 print(type(json_dic))
     9 
    10 
    11 #json.loads()函数是将json格式数据转换为字典
    12 json_huifu=json.loads(json_dic)
    13 print(json_huifu)
    14 print(type(json_huifu))
    View Code

    3.json.dump()

    示例代码:

    import json
    json_info="{'name':'xiaohua'}"
    file=open('1.json','w',encoding='utf-8')
    json.dump(json_info,file)
    View Code

    json.dump()函数的使用,将json信息写进文件

     执行后json数据成功写入1.json文件

    4.json.load()

    示例代码:

    1 import json
    2 
    3 file = open('1.json','r',encoding='utf-8')
    4 sd = json.load(file)
    5 print(sd)
    View Code

    json.load()函数的使用,将读取json信息

    执行代码结果

     zoomeye采集

     zoomeye采集API的使用

    API:https://www.zoomeye.org/doc#limitations

    代码:

    import requests
    import json
    
    def login():
        url_login="https://api.zoomeye.org/user/login"
        data={
            "username": "1098395580@qq.com",
            "password": "xiaohua@1998"
        }
        data=json.dumps(data)
        
        r=requests.post(url=url_login,data=data)
    
        return json.loads(r.content)['access_token']
    
    def main():
        url="https://api.zoomeye.org/web/search?query=city"
        headers={'Authorization':'JWT '+login()}
        r=requests.get(url=url,headers=headers)
        
        datas=json.loads(r.content)['matches']
        for data in datas:
            print(data['ip']); 
    
    if __name__=='__main__':
        main()
  • 相关阅读:
    请求失败或服务未及时响应。有关详细信息,请参见事件日志或其他适用的错误日志
    12篇学通C#网络编程——第一篇 基础之进程线程(转)
    关于XP和win7前置音频插孔无声音的解决办法
    进程,线程,主线程,异步
    SQL 在什么情况下使用全表扫描
    性能的一些设置
    清除Windows 7通知区域的旧图标
    操作office
    数据库索引
    SCSI
  • 原文地址:https://www.cnblogs.com/xhds/p/12267550.html
Copyright © 2011-2022 走看看