Отправка request в точное указанное время
начал писать такой вот проект, нужно чтобы моя программа посылала запрос в четко введёное мной время с максимальной точностью (например в 14:31:29). Вот мой код, в нем есть асинхронность и я не знаю как запустить эту функцию в точный момент. Пробовал с sched, но что-то не получалось. Заранее спасибо за ответы!
import requests
import aiohttp
import asyncio
import time
from datetime import datetime
bearer = input("Bearer Key: ")
target = input("Target Username: ")
url = 'https://api.minecraftservices.com/minecraft/profile/name/'+target
when = input('Type like this(Tue May 01 11:05:17 2018): ')
async def snipe_req():
async with aiohttp.ClientSession() as session:
async with session.put(f"https://api.minecraftservices.com/minecraft/profile/name/{target}",
headers={"Authorization": "Bearer " + bearer,
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0",
"Content-Type": "application/json"}) as resp:
print(resp.status)
print(datetime.now())
print(await resp.text())
loop = asyncio.get_event_loop()
loop.run_until_complete(snipe_req())
Ответы (1 шт):
Автор решения: Easton
→ Ссылка
Возможно стоит попробовать библиотеку schedule
Вот пример использования
import datetime, schedule, request
TIME = [('17.04.2021', '06:41:44', 'abc.php?xxx'),
('17.04.2021', '07:21:31', 'abc.php?yyy'),
('17.04.2021', '07:33:04', 'abc.php?zzz'),
('17.04.2021', '07:41:23', 'abc.php?www')]
def job():
global TIME
date = datetime.datetime.now().strftime("%d.%m.%Y %H:%M:%S")
for i in TIME:
runTime = i[0] + " " + i[1]
if i and date == str(runTime):
request.get(str(i[2]))
schedule.every(0.01).minutes.do(job)
while True:
schedule.run_pending()
time.sleep(1)