Flask python обрезает ссылку на YouTube

#python #flask

#python #flask

Вопрос:

Я пытался создать API, используя Flask, который принимает ссылку YouTube в качестве входных данных. Я использую path конвертер URL. Основная проблема, с которой я сталкиваюсь, заключается в том, что когда я предоставляю URL YouTube в качестве входных данных для flask API, он усекает ссылку следующим образом:

  • Ввод: https://www.youtube.com/watch?v=qYeWemghBxI
  • Вывод: https://www.youtube.com/watch

Есть ли какой-нибудь способ получить полный URL-адрес?

 from flask import Flask, jsonify, request
import requests
from pprint import pprint

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

@app.route('/YT/<path:yt_link>')
def index(yt_link):
    return str(yt_link)
 

Комментарии:

1. Опубликуйте свой код в виде форматированного текста. Скриншоты кода недопустимы при переполнении стека.

2. Извините. Просто дай мне минуту @KlausD.

Ответ №1:

Отправьте свою ссылку в виде URL-адреса в кодировке. Затем расшифруйте ее внутри flask кода.

Например: https://www.youtube.com/watch?v=qYeWemghBxI > encode > https://www.youtube.com/watch?v=qYeWemghBxI

Затем в flask

https://www.youtube.com/watch?v=qYeWemghBxI > decode > https://www.youtube.com/watch?v=qYeWemghBxI

Комментарии:

1. Привет @itzMEonTV. Я копирую ссылку и вставляю ее в свой браузер. Нет ли какого-либо способа просто передать его в качестве входных данных как есть? Если я просто хочу, чтобы вместо кодирования или декодирования использовалась простая ссылка YT?

2. Если вы копируете вставку, можете ли вы попробовать перейти ? на ? внутри ссылки

3. В URL-адресе разрешено использовать несколько меток запроса. Но, возможно, не ожидаются строковые значения запроса. Здесь ?v означает v другую строку запроса

4. Я могу попробовать. Через некоторое время сообщу вам об этом.