کوتاه کننده لینک
وبسایت کوتاه کننده لینکی بسازید که کاربر بتواند با وارد کردن لینک خود، لینکی دیگر (کوتاه تر) با دامنه وبسایت شما دریافت کند که به لینک کاربر ریدایرکت میشود.
👨💻 20 ساعت قبل کاربر ناشناس این تمرین رو مشاهده کرد
وبسایت کوتاه کننده لینکی بسازید که کاربر بتواند با وارد کردن لینک خود، لینکی دیگر (کوتاه تر) با دامنه وبسایت شما دریافت کند که به لینک کاربر ریدایرکت میشود.
from flask import Flask, request, redirect, render_template, url_for
import sqlite3
import random
import string
app = Flask(__name__)
def init_db():
conn = sqlite3.connect('links.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS links (id INTEGER PRIMARY KEY AUTOINCREMENT, original_link TEXT, short_link TEXT)''')
conn.commit()
conn.close()
def generate_short_link():
return ''.join(random.choices(string.ascii_letters + string.digits, k=6))
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
original_link = request.form['link']
short_link = generate_short_link()
conn = sqlite3.connect('links.db')
c = conn.cursor()
c.execute("INSERT INTO links (original_link, short_link) VALUES (?, ?)", (original_link, short_link))
conn.commit()
conn.close()
return f"لینک کوتاه شما: {request.host_url}{short_link}"
return '''
<form method="POST">
لینک خود را وارد کنید: <input type="text" name="link">
<input type="submit" value="کوتاه کن">
</form>
'''
@app.route('/<short_link>')
def redirect_to_original(short_link):
conn = sqlite3.connect('links.db')
c = conn.cursor()
c.execute("SELECT original_link FROM links WHERE short_link=?", (short_link,))
result = c.fetchone()
conn.close()
if result:
return redirect(result[0])
else:
return "لینک پیدا نشد!", 404
if __name__ == '__main__':
init_db()
app.run(debug=True)
from flask import Flask, request, redirect, render_template
import random
import string
app = Flask(__name__)
# دیکشنری برای ذخیره لینکها
links = {}
def generate_short_link(length=6):
"""یک لینک کوتاه تصادفی تولید میکند."""
characters = string.ascii_letters + string.digits
short_link = ''.join(random.choice(characters) for _ in range(length))
return short_link
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
original_link = request.form['link']
short_link = generate_short_link()
# اطمینان از اینکه لینک کوتاه تکراری نباشد
while short_link in links:
short_link = generate_short_link()
links[short_link] = original_link
return render_template('index.html', short_link=f"http://localhost:5000/{short_link}")
return render_template('index.html')
@app.route('/<short_link>')
def redirect_to_link(short_link):
original_link = links.get(short_link)
if original_link:
return redirect(original_link)
return "لینک کوتاه وجود ندارد!", 404
if __name__ == '__main__':
app.run(debug=True)
برای ساخت یک وبسایت کوتاه کننده لینک، میتوانید از زبانهای برنامهنویسی مانند Python و فریمورک Flask استفاده کنید. در زیر یک نمونه ساده از کد را مشاهده میکنید:
from flask import Flask, request, redirect
import random
import string
app = Flask(__name__)
url_mapping = {}
def generate_short_link():
return ''.join(random.choices(string.ascii_letters + string.digits, k=6))
@app.route('/shorten', methods=['POST'])
def shorten():
original_url = request.form['url']
short_link = generate_short_link()
url_mapping[short_link] = original_url
return f"Short link: http://yourdomain.com/{short_link}"
@app.route('/<short_link>')
def redirect_to_url(short_link):
original_url = url_mapping.get(short_link)
if original_url:
return redirect(original_url)
return "URL not found", 404
if __name__ == '__main__':
app.run(debug=True)
این کد یک وبسایت ساده برای کوتاه کردن لینکها ایجاد میکند.
جوابت را با Markdown بنویس و ثبت کن
برای استفاده از این بخش باید وارد حساب کاربریت بشی
ورود/ثبت نامتوضیح کوتاهی بنویسید تا تیم بررسی کند.