410呆瓜版本




# -*- coding: utf-8 -*-
import requests
import json
import time
import hmac
import hashlib
import base64
import urllib.parse
from datetime import datetime


# todo
#  消费成功推动通知,并记录到与云文档
# 全局参数配置

# 接收的号码
phone_numbers='13123456701'

# 端口号和号码的映射
phone_num_map={
  01:'13123456701',
  02:'13123456702',
}

wifi410_list=[
  13123456701,
  13123456702,
  13123456703,
  13123456704

]

# 签名的
secret='123456789'

# 定义中文日期时间格式
chinese_format = "%Y年%m月%d日 %H时%M分%S秒"
# 存放结果信息
msg =datetime.now().month+'月份消费情况\n生成时间:'+datetime.now().strftime(chinese_format)+'\n'


msg_failed=''
#  todo 优化
# 获取当前月份

# 根据端口获取发送的短信内容

# def getSmsContent(port):
#     # 获取当前日期和时间
#     now = datetime.now()
#     # 格式化日期和时间
#     formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
#     print("当前日期和时间:", formatted_date)

#     phone_num= phone_num_map[port]
#     print("phone_num:",phone_num)
#     sms_content= '{}\n{}\n执行消费'.format(formatted_date,phone_num)
#     print("sms_content:",sms_content)
#     return sms_content

# 根据手机号获取发送的短信内容
def getSmsContent(phone_num):
    # 获取当前日期和时间
    now = datetime.now()
    # 格式化日期和时间
    formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
    print("当前日期和时间:", formatted_date)

    # phone_num= phone_num_map[port]
    # print("phone_num:",phone_num)
    sms_content= '{}\n{}\n执行消费'.format(formatted_date,phone_num)
    print("sms_content:",sms_content)
    return sms_content

# 根据时间戳和signStr得到真正的校验串

def getSignStr(timestamp,secret): 
  secret_enc = secret.encode('utf-8')
  string_to_sign = '{}\n{}'.format(timestamp, secret)
  string_to_sign_enc = string_to_sign.encode('utf-8')
  hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
  sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))
  print("sign:",sign)
  return sign







# 发短信
def send_sms(port):
  print("执行-send_sms")
  domain='frp11111.1024123.xyz'
  url ='{}:{}/sms/send'.format(domain,port)
  print("url:",url)
  phone_num= phone_num_map[port] 
  # 获取当前时间的UNIX时间戳(秒)
  timestamp = str(round(time.time() * 1000))
  json_text = {
      "data": {
      "sim_slot": 1,
      "phone_numbers": phone_numbers,
      "msg_content": getSmsContent(phone_num)
            },
      "timestamp": timestamp,
      "sign": getSignStr(timestamp, secret)
    }
  headers = {'Content-Type': 'application/json;charset=utf-8'}
    # res =requests.post(url, json.dumps(json_text), headers=headers)
    # print("res:",res)
#   response_str =  requests.post(url, json.dumps(json_text), headers=headers)
# {
#     "code": 200,
#     "msg": "success",
#     "data": "success",
#     "timestamp": 1653982995002,
#     "":sign "NGxleev7ZZ%2Bd2KYCPHGw9XuoDo6Y6u7y1Pe3AZmsw6k%3D"
# }
# '''  
  response_dict = json.loads(response_str) 
  
  if response_dict['code'] == 200 and response_dict['msg'] == 'success':
    print("请求成功")
    msg+'[frp]\t'+ phone_num+ "\t发短信成功\t消费成功\n"
  else:
    print("请求失败")
    msg_failed+ '[frp]\t'+phone_num+ "\t发短信失败\t消费失败\n"






# 遍历执行

def do_work():
  for key, value in phone_num_map.items():
     print(f"Key: {key}, Value: {value}")
     send_sms(key)
     print("==============")


# =====
# 开始410 部分 
def send_sms_410(phone_num):
  # 使用切片截取后四位
  pre= phone_num[-4:]
  print('pre:',pre)
  domain='f11111.vvv.xyz'
  url = 'http://{}.{}:8003/api?telnum={}&smstext={}'.format(pre,domain,phone_numbers,getSmsContent(phone_num))
  headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
  }

  response = requests.get(url, headers=headers)
  print("send_sms_410.response,",response)
  response_dict = json.loads(response) 
  print("response_dict,",response_dict)
  if response_dict['code'] == 200 and response_dict['msg'] == 'success':
    print("请求成功")
    msg+ '[410]\t'+ phone_num+ "\t发短信成功\t消费成功\n"
  else:
    print("请求失败")
    msg_failed+ '[410]\t'+phone_num+ "\t发短信失败\t消费失败\n"


# 410循环执行
def do_work_410():
  for index, item in enumerate(my_list):
    print(f"Index: {index}, Item: {item}")
    send_sms_410(item)
    print("==============")





if __name__ == '__main__':
    print("111111")
    # 调用函数发送消息
    # result =getSmsContent(01)
    # result =send_sms(01)
    # 打印返回结果
    # print("result:\n",result)
    do_work()
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值