@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


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

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

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

Войти через центр авторизации
Похожие вопросы