@app.route('/create', methods=['POST'])
def create_short_link():
original_url = request.form['original_url']
if not original_url:
return Please provide a valid URL., 400
Generate a unique short URL
while True:
short_url = ''.join(random.choices(string.ascii_letters + string.digits, k=6))
if not check_short_url(short_url):
break
conn = sqlite3.connect('short_links.db')
c = conn.cursor()
c.execute(INSERT INTO short_links (original_url, short_url) VALUES (?, ?), (original_url, short_url))
conn.commit()
conn.close()
@app.route('/<short_url')
def show_short_link(short_url):
conn = sqlite3.connect('short_links.db')
c = conn.cursor()
c.execute(SELECT original_url FROM short_links WHERE short_url=?, (short_url,))
result = c.fetchone()
conn.close()
if result:
original_url = result[0]
return redirect(original_url)
else:
return Short link not found., 404
def check_short_url(short_url):
conn = sqlite3.connect('short_links.db')
c = conn.cursor()
c.execute(SELECT * FROM short_links WHERE short_url=?, (short_url,))
result = c.fetchone()
conn.close()
return bool(result)