python案例练习合集

目录
  • 一、python批量查询练习
  • 二、python批量请求(GET | POST)
  • 三、python列表转集合练习

一、python批量查询练习

通过接口批量查询该ip是否属于指定接口:

import requests
import json

if __name__ == "__main__":
        headers = {
        'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3100.0 Safari/537.36'
    }
    # 获取源IP
    with open('./ip.txt','r') as fp:
       list_ip = fp.readlines()

       #  处理每个ip后面对\n
       for li in list_ip:
          li = li.rstrip()
          url="http://www.xxxx.com/api/query_ip?ip={0}&flag=1&key=cdbcbdhbhcbdhcbhdbchdbchdbch&user=root".format(li)
          #
          result_json = requests.get(url, headers=headers)
          # print(result_json.json())
          # 获取到数据和未获取到数据最终打印对结果要不一样
          if result_json.json()['total'] == 0:
              cw_url="http://www.sss.cn/api/query_ip?ip={0}&flag=1&key=fjdifjdifncjdnjcndjhfjndjnjdhfjdhj&user=root".format(li)
              cw_result_json = requests.get(cw_url,headers=headers)
              print("XXX科技CMDB未发现该资产 ->",end="")
              if cw_result_json.json()['total']==0:
                  print(li + " <- SSSSCMDB未发现该资产")
                  print(result_json.json(),cw_result_json.json())
              else:
                  print("该资产属于SSSSCMDB:")
                  ip1 = cw_result_json.json()['data'][0]['ip1']
                  company = cw_result_json.json()['data'][0]['company']
                  profile_center = cw_result_json.json()['data'][0]['profit_center']
                  platform = cw_result_json.json()['data'][0]['platform']
                  leader = cw_result_json.json()['data'][0]['leader']
                  email = cw_result_json.json()['data'][0]['email']
                  print(ip1 + '  ' + company + '  ' + profile_center + '  ' + platform + '  ' + leader + '  ' + email)
          else:

              ip1 = result_json.json()['data'][0]['ip1']
              company = result_json.json()['data'][0]['company']
              profile_center = result_json.json()['data'][0]['profit_center']
              platform = result_json.json()['data'][0]['platform']
              leader = result_json.json()['data'][0]['leader']
              email = result_json.json()['data'][0]['email']
              print(ip1 + '  ' + company + '  ' + profile_center + '  ' + platform + '  ' + leader + ' 

二、python批量请求(GET | POST)

本案例为普通的测试案例,主要用于测试通过get请求和post请求产生响应是否一致,主要针对响应码为200的结果进行输出,没有什么技术含量!

#-*- coding:utf-8 -*-

import requests
def apiRequest():
    header = {
        'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3100.0 Safari/537.36',
        'Cookie': 'JSESSIONID=E65BD767F22CBEFE30BAF33D84A59072',
        'Referer':'http://aaa.xxx.com',
        'Content-Type':'application/json;'
    }
    with open('url.txt','r',encoding='utf-8') as fp:
        urls = fp.readlines()
        for li in urls:

            get_response = requests.get(url=li,headers=header)
            post_response = requests.post(url=li, headers=header)

            if get_response.status_code == 200 or post_response.status_code == 200:
                print(li.strip()+"请求测试结果如下:")
                print("GET请求测试结果",get_response.content)
                print("POST请求测试结果", post_response.content)
if __name__ == '__main__':
    apiRequest()

三、python列表转集合练习

#处理字符串重复问题—本练习用于fuzz字典去重

if __name__ == '__main__':
    with open('E:/xilie/web/fuzzDicts-master/apiDict/api.txt','r') as fp:
        list1 = fp.readlines()
        list2 = set(list1)
        print("去重前的条数:"+str(len(list1)))
        print(type(list2), "去重后的条数"+str(len(list2)))

    with open('E:/xilie/web/fuzzDicts-master/apiDict/new_api.txt','w+') as fp1:
        for li1 in list2:
            fp1.write(li1)
        print("已将去重内容写入新文件!!!")

到此这篇关于python案例学习合集的文章就介绍到这了,更多相关python案例内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python案例练习合集

    目录 一.python批量查询练习 二.python批量请求(GET | POST) 三.python列表转集合练习 一.python批量查询练习 通过接口批量查询该ip是否属于指定接口: import requests import json if __name__ == "__main__":         headers = {         'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit

  • python学习实操案例(五)

    目录 任务1.我的咖啡馆你做主 元组 任务2.显示2019中超联赛中前五名排行 任务3.模拟手机通讯录 任务1.我的咖啡馆你做主 元组 coffee_name=('蓝山','卡布奇诺','拿铁','皇家咖啡','女皇咖啡','美丽与哀愁') print('您好!欢迎光临小贾的咖啡小店') print('本店经营的咖啡有:') for index,item in enumerate(coffee_name):     print(index+1,'.',item,end='  ') index=i

  • python实操练习案例

    目录 任务1.输出图书信息 任务2.输出<红楼梦>中的金陵十二钗前五位 1.变量的赋值 2.列表的方式 3.字典的方式 任务3.输出图书音像勋章 任务4.输出你的身体指标 看到这个先思考,自己怎么输出他?为什么它有颜色?特殊符号去哪找?特殊符号在符号大全找符号大全 http://www.fhdq.net/ 任务1.输出图书信息 book_name='Java程序设计教程' publish='西安电子科技大学出版社' pub_date='2019-02-02' price=56.8 print(

  • python实操案例练习(七)

    目录 任务1.编写程序实现乐手弹奏乐器 多态 任务2.使用面向对象设计自定义类,描述出租车和家用轿车的信息 任务1.编写程序实现乐手弹奏乐器 多态 class Instrument():     def make_sound(self):         pass class Erhu(Instrument):     def make_sound(self):         print('二胡在演奏') class Pinao(Instrument):     def make_sound(

  • python实操案例练习(八)

    目录 任务1.记录用户登录日志 任务2.模拟淘宝客服自动回复 任务1.记录用户登录日志 import time def show_info():     print('输入提示数字,执行相应操作:0退出,1查看登录日志') # 记录日志 def write_logininfo(username):     with open('log.txt','a')as file:        s=f'用户名{username},登录时间:{time.strftime("%Y-%m-%d %H:%M:%S

  • Python Ajax爬虫案例分享

    目录 1. 抓取街拍图片 2. 分析街拍图片结构 3. 按功能不同编写不同方法组织代码 3.1 获取网页json格式数据 3.2 从json格式数据提取街拍图片 3.3 将街拍图片以其md5码命名并保存图片 3.4 main()调用其他函数 4 抓取20page今日头条街拍图片数据 1. 抓取街拍图片 街拍图片网址 2. 分析街拍图片结构 keyword: 街拍 pd: atlas dvpf: pc aid: 4916 page_num: 1 search_json: {"from_search

  • python学习实操案例(四)

    目录 任务1.“千年虫”我来了 函数enumerate 排序之后的 任务2.京东购物流程 入库操作 整个过程 下面要学的是列表: 任务1.“千年虫”我来了 函数enumerate enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. year=[82,89,88,86,85,00,99] print('原列表:',year) for index,value in enumerate(year):  

  • python实操练习案例(六)

    目录 任务1. Mini计算器 任务2. 猜数游戏 任务1. Mini计算器 看出来错误了吗,哈哈哈哈哈哈,那三个点自己加的,本质应该是函数折叠 完整的代码: ef calc(a,b,op):     if op=='+':         return add(a,b)     elif op=='-':         return sub(a,b)     elif op=='*':         return mul(a,b)     elif op=='/':         if

  • python学习实操案例(三)

    目录 任务1.循环输出26个字母对应的ASCII码值 任务2.模拟用户登录 任务3.猜数游戏 任务4.计算100-999之间的水仙花数 任务1.循环输出26个字母对应的ASCII码值 x=97#代表的是a的ASCII值 for _ in range(1,27):     print(chr(x),'----->',x)     x+=1 print('--------------------------------------') x=97 while x<123:     print(chr

  • python学习实操案例(二)

    目录 任务1.将指定的十进制转换为二进制.八进制.十六进制 二进制转换 八进制和十六进制以及异常处理机制的应用 任务2.为自己手机充值 任务3.计算能量的消耗 任务4.预测未来子女的身高 任务1.将指定的十进制转换为二进制.八进制.十六进制 二进制转换 第一种和第二种写法: num=int(input('请输入一个十进制的整数'))#将str类型转换成int类型 print(num,'的二进制数为:',bin(num))#第一种写法 使用了个数可变的位置参数 print(str(num)+'的二

随机推荐