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案例內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: