@YungJabo

Почему не удается отправить запрос через request на сервере FLASK?

у меня небольшой сервер на хостинге pythonanywhere, сам сервер написан через FLASK. Когда запускаю его на локалке, то запрос на сайт выполняется через request и я получаю данные, все ок.
На хостинге какая-то проблема, что он выдает ошибку и не удается отправить запрос. С чем это может быть связано?

Вот код из питона:
import requests
from flask import Flask, jsonify
from flask_cors import CORS
from bs4 import BeautifulSoup
import socket

def get_data_with_proxy(url):
    ip_address = socket.gethostbyname(hostname)
    print('func')
    try:
        response = requests.get(url)
        if response.status_code == 200:
            ace_link=''
            html_content = response.text
            soup = BeautifulSoup(html_content, 'html.parser')
            links_with_ural = soup.find_all('a')
            for link in links_with_ural:
                if 'Benfica' in link.get_text():
                    ace_link = link.get('href')
                    print(ace_link)
                    break
            url = url[:20]+ace_link
            response = requests.get(url)
            html_content = response.text
            soup = BeautifulSoup(html_content, 'html.parser')
            links_with_ural = soup.find_all('a')
            all_links = []
            for link in links_with_ural:
                if link.get('href') and 'acestream://' in link.get('href'):
                    all_links.append(link.get('href')[12:])
            return all_links
        else:
            print('no')
            return None
    except requests.exceptions.RequestException as e:
        print("Произошла ошибка при запросе:", e)
        return None
proxy = '181.65.139.227:999'

app = Flask(__name__)
CORS(app)

@app.route('/get_data', methods=['GET'])
def get_data():
    print('ok')
    data = get_data_with_proxy('https://livetv606.me/enx/allupcomingsports/1/')
    print(data)
    return data

@app.route('/')
def hello_world():
    return 'HELLO'

if __name__ == '__main__':
    app.run()


Это fetch запрос на сервер через js
export async function getLinkApi() {
  let response = await fetch("http://yungjabo.pythonanywhere.com/get_data");
  const data = await response.json();
  return data;


Это выдает в логах на сервере(на хостинге)
2023-08-19 21:21:32 None
2023-08-19 21:21:32 ok
2023-08-19 21:21:32 func
2023-08-19 21:21:32 Произошла ошибка при запросе: HTTPSConnectionPool(host='livetv606.me', port=443): Max retries exceeded with url: /enx/allupcomingsports/1/ (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 403 Forbidden')))
2023-08-19 21:21:32 None


Вообще не понимаю в чем причина, опять же через локалку все работает.
  • Вопрос задан
  • 194 просмотра
Решения вопроса 1
python anywhere бесплатный тариф или платный?

На бесплатном там ограничения кое какие есть
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы