在授权抽搐机器人后,我试图将用户发送到重定向站点。如果我不回复请求,它会发出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()
###############################################################################
###############################################################################
我只希望用户重定向到一个网站,而不是像现在这样获得8400万个请求。请原谅我的代码草率,我刚刚在3-4周前开始学习编码。