Я пытаюсь отправить пользователя на перенаправленный сайт после авторизации дергающегося бота.Если я не отвечаю на запрос, он выполняет примерно 7 запросов.
Я могу использовать self.wfile.write () для отправки строки данных, которая затем отображается, но я не могу понять,как отправить полноценное перенаправление клиенту, так как документация для socketserver не объясняет все атрибуты, которые имеет обработчик запросов.
###############################################################################
# import libraries
###############################################################################
import re
import socket
from urllib.request import urlopen
import json
from json import loads
import time
import requests
import webbrowser
import http.server
import socketserver
import urllib.parse
import irc
import sqlite3 as db
import datetime
import random
###############################################################################
#declare classes
###############################################################################
class MyTCPHandler(socketserver.StreamRequestHandler):
def handle(self):
self.data = self.rfile.readline().strip()
if "favicon" in str(self.data):
return
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
'THE LINE WHERE I NEED TO REDIRECT THEM'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
print(self.data)
url = urllib.parse.urlparse(self.data)
print(url)
ip = str(self.client_address[0])
print(ip)
parse = str(url[4])
print(parse)
code = (parse[7:37])
print(code)
token = retrieve_token(secret, code)
print(token)
datatuple = exchange_token(token)
print(datatuple)
username = datatuple[0]
email = datatuple[1]
user_pass = "password"
obsport = 4444
create_table()
if len(token) > 0:
con_entry_discon(username, ip, obsport, user_pass, email)
time.sleep(0.1)
###############################################################################
#declare Variables
###############################################################################
secret = "&client_secret=asdfasdfasdfasdfasdfasdf"
Handler = MyTCPHandler
SERVERPORT = 80
###############################################################################
#Start server
###############################################################################
create_table()
with socketserver.TCPServer(("localhost", SERVERPORT), Handler) as httpd:
print("serving at port", SERVERPORT)
httpd.serve_forever()
###############################################################################
###############################################################################
Я просто хочу, чтобы пользователь перенаправлялся на веб-сайт вместо получения 84миллион запросов, как я делаю сейчас.Пожалуйста, простите за неряшливость моего кода, я только начал учиться кодировать, как 3-4 недели назад.