1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- from flask import Flask, render_template, request, redirect
- import pymysql
- import pyshorteners
- app = Flask(__name__)
- # 配置 MySQL 数据库连接
- app.config['MYSQL_DATABASE_USER'] = 'root'
- app.config['MYSQL_DATABASE_PASSWORD'] = 'guo784512'
- app.config['MYSQL_DATABASE_DB'] = 'your_database'
- app.config['MYSQL_DATABASE_HOST'] = 'localhost'
- # 初始化 MySQL 连接
- db = pymysql.connect(
- user=app.config['MYSQL_DATABASE_USER'],
- password=app.config['MYSQL_DATABASE_PASSWORD'],
- database=app.config['MYSQL_DATABASE_DB'],
- host=app.config['MYSQL_DATABASE_HOST'],
- port=3306 # 将端口号改为
- )
- @app.route('/')
- def index():
- return render_template('index.html')
- @app.route('/shorten', methods=['POST'])
- def shorten():
- original_url = request.form['url']
- s = pyshorteners.Shortener()
- short_url = s.tinyurl.short(original_url)
- # 将原始URL和短网址保存到数据库
- with db.cursor() as cursor:
- cursor.execute("INSERT INTO urls (original_url, short_url) VALUES (%s, %s)", (original_url, short_url))
- db.commit()
- return render_template('result.html', original_url=original_url, short_url=short_url)
- @app.route('/<short_url>')
- def redirect_to_original(short_url):
- # 从数据库中获取原始URL并重定向
- with db.cursor() as cursor:
- cursor.execute("SELECT original_url FROM urls WHERE short_url = %s", (short_url,))
- result = cursor.fetchone()
- if result:
- original_url = result[0]
- return redirect(original_url)
- else:
- return "Short URL not found."
- if __name__ == '__main__':
- # 创建数据库表
- with app.app_context():
- with db.cursor() as cursor:
- cursor.execute("CREATE TABLE IF NOT EXISTS urls (id INT AUTO_INCREMENT PRIMARY KEY, original_url VARCHAR(255), short_url VARCHAR(255))")
- db.commit()
- app.run(debug=True, port=5001) # 将端口号改为 5001
- # jkljll
- # zjs
|