复制
收藏
提问
简洁

下面的py怎么保存响应到文件夹里import time import requests import json import datetime import threading import random import os import base64 import gzip import hashlib newest_version = "3.4.6" newest_version_mingzi = "小南梁" newest_version_yaoqing = "9" data_0=''' {"req":"V114","e":{"pi":"2","sk":"3","ui":"不用填"},"ev":1} ''' # 在这里修改保存的文件夹地址 output_dir = '/storage/emulated/0/0py号子' data_0= json.loads(data_0) #获取sk # 尝试从数据中获取'sk'键的值 sk_value = data_0.get('e', {}).get('sk') # 检查'sk'键是否存在 if sk_value : pi,sk,ui,= data_0["e"]["pi"], data_0["e"]["sk"], data_0["e"]["ui"] else: pi,sk,ui,= data_0["t"]["pi"], data_0["t"]["sk"], data_0["t"]["ui"] url = 'http://cloudpvz2android.ditwan.cn/index.php' headers = { 'User-Agent': 'Dalvik/2.1.0 (Linux; U; Android 13; 23013RK7C Build/TKQ1.220905.001)', 'Content-Type': 'multipart/form-data; boundary=_{{}}_', 'Connection': 'Keep-Alive', 'Accept-Encoding': 'gzip' } # 发送数据 def send(data): time.sleep(0.0) #如果锁ip就增加延迟 try: start_time = time.time() response = requests.post(url, headers=headers, data=data) end_time = time.time() # 记录请求结束时间 if response.status_code == 403: print("您可能已被拓维锁ip, 请开关飞行模式解除锁定") return "ip被锁" global latency_拓维 latency_拓维 = (end_time - start_time) * 1000 # 计算延迟, 并转换为毫秒 return response.text except RuntimeError: return "" # 在发送基础上,增加判断是否成功,并且自动输出拼接语句 def send_for_intent(data, intent): response = send(data) success = "\"r\":0" in response print(intent, "成功🎉" if success else "失败") return success, response data = {} for i in range (10000): data[f'号子{i}']= {"req":"V202","e":{"ci":"91","cv":"3.4.6.1540","di":"","head":{"appId":"109","appVersion":"1.0","channelId":"54","channelSdkVersion":"dj2.2-3.14.4.574","talkwebSdkVersion":"3.0.0"},"li":"786fa1bf3c20b7d68c4d83a9afbcd59d","oi":f"{i+99999}X241909023","pi":"","r":"1263479390","s":"3b769a92b0763b564a823246caa65a39","t":"241909023|e6f144a12d94c5d89b0e54297124f1f3|46619|20240708124004d1b0de932589d4bb3f55ffadb8605ec900d7a132e568738e|bdd8553dafb1d20b5a55a35fe130675e|80faf5d0832e49b54f4a672982c0d0d2|1721709615|4399","ui":""},"ev":1} def make_更新数据包(): if not os.path.exists(output_dir): os.makedirs(output_dir) for key, value in data.items(): file_path = os.path.join(output_dir, f"{key}.txt") content= json.dumps(value, separators=(',', ':'),ensure_ascii=False) with open(file_path, 'w', encoding='utf-8') as file: file.write(content) input("所有文件已保存完成,请手动加密整个文件夹'0py号子',该文件夹应该位于手机根目录下") def make_发送拼接提示(data_数据包, data_提示, file_path=None): # 如果file_path没有提供,则使用output_dir和data_数据包来构造文件名 if file_path is None: file_path = os.path.join(output_dir, f'{data_数据包}.txt') try: with open(file_path, 'r', encoding='utf-8') as file: data = file.read() suc, r = send_for_intent(data, data_提示) return suc, r except FileNotFoundError: print(f"没有找到文件:{file_path}") return False, None # 或者根据你的需求返回合适的值 except Exception as e: # 捕获其他可能的异常 print(f"读取文件时发生错误:{e}") return False, None # 或者根据你的需求返回合适的值 def make_号子(): c=0 for i in range(10000): suc,r=make_发送拼接提示(f'号子{i}',f'号子发送第{i+1}次') c=c+1 if suc else c if c ==10000: print("号子已完成") return print(response.text) def display_menu(): print(" ㅤ抓包后手动解密数据包,填入data_0,再运行本程序") print(" 先选择1更新数据包,再用DART或者其他软件加密手机根目录下的'0py邀请'文件夹,加密后再次运行本程序选择其他功能") print(" ㅤ 粒了 ") print(" ㅤ1:更新数据包") print(" ㅤ 2:号子") print(" ㅤq:退出") print(" ㅤㅤ请选择要执行的任务(可多选, 以空格分隔,按回车键执行):") def call_functions(choices): for choice in choices: if choice == "0

728c543f9
2个月前
全网
文档
学术
百科
知识库
时间不限
自动
回答简洁模式
深入研究一些

这段Python代码是一个自动化脚本,用于发送HTTP请求并保存响应到指定的文件夹。以下是代码的主要功能和步骤:

  1. 导入必要的模块,如time, requests, json, datetime, threading, random, os, base64, gzip, hashlib

  2. 定义了变量newest_version, newest_version_mingzi, newest_version_yaoqing,这些变量可能用于版本控制或标识。

  3. 定义了一个JSON格式的字符串data_0,这个字符串包含了一些请求参数。

  4. 设置了输出目录output_dir,用于保存生成的文件。

  5. 解析data_0字符串,尝试获取sk值。

  6. 定义了send函数,用于发送POST请求,并处理响应。

  7. 定义了send_for_intent函数,用于发送请求并判断请求是否成功。

  8. 定义了一个循环,生成了包含10000个不同oi值的数据字典data

  9. 定义了make_更新数据包函数,用于将data字典中的数据保存为文本文件到output_dir目录。

  10. 定义了make_发送拼接提示函数,用于读取文件内容,发送请求,并返回请求结果。

  11. 定义了make_号子函数,用于循环发送请求,并统计成功次数。

  12. 定义了display_menu函数,用于显示菜单选项。

  13. 定义了call_functions函数,用于根据用户输入调用相应的函数。

要将响应保存到文件夹,主要关注make_更新数据包函数。这个函数会遍历data字典,将每个键值对转换为JSON格式的字符串,并保存到output_dir目录下以键名命名的文本文件中。

如果你想修改代码以保存响应而不是发送的数据,你需要修改make_发送拼接提示函数,使其在发送请求后保存响应内容到文件,而不是仅仅返回成功或失败的状态。

请注意,这段代码中有一些可能的错误或不完整的部分,例如call_functions函数中的for choice in choices:后面缺少了实际执行函数的代码,以及make_号子函数中的if c ==10000:后面缺少了对response.text的处理。在实际使用前,你可能需要对这些部分进行修正和完善。

你觉得结果怎么样?
如何使用Python保存文件到指定目录?
Python中requests库如何发送POST请求?
Python中如何使用json模块处理JSON数据?
Python多线程如何实现并发操作?
Python中如何使用gzip进行数据压缩?
Python中如何使用hashlib进行数据加密?

以上内容由AI搜集生成,仅供参考

在线客服