You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Flask的request模块发起URL GET请求?

Clarifying Flask's request Module vs. Sending GET Requests

Hey there! Let's clear up a key confusion first: Flask's built-in request module isn't meant to send HTTP GET requests to external URLs—it's designed to handle incoming requests that your Flask server receives from clients (like browsers, mobile apps, or other services).

If your goal is to initiate a GET request to an external API from within your Flask application, you’ll still want to use the requests library you’re already familiar with! There’s no conflict between Flask and requests—they work perfectly together. Here’s a quick example of how to implement this in a Flask route:

from flask import Flask
import requests

app = Flask(__name__)

@app.route('/fetch-external-data')
def fetch_external_data():
    # Send a GET request to the external API (just like you did before)
    try:
        response = requests.get("https://someapi.io/api/data")
        response.raise_for_status()  # Raise an error for HTTP status codes >=400
        external_data = response.json()
        
        # Process or return the data as needed
        return {"status": "success", "data": external_data}
    except requests.exceptions.RequestException as e:
        # Handle errors (e.g., connection issues, API errors)
        return {"status": "error", "message": str(e)}, 500

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

If You Actually Want to Handle Incoming GET Requests with Flask's request Module

If you’re trying to access data from a GET request sent to your Flask server (like query parameters or request metadata), that’s where Flask's request module shines. Here are common use cases:

  • Get query string parameters (e.g., https://your-flask-app.com/user?id=123&name=Alice):

    from flask import Flask, request
    
    app = Flask(__name__)
    
    @app.route('/user')
    def get_user_details():
        # Retrieve a single query parameter (with a default if it's missing)
        user_id = request.args.get('id', default=None)
        username = request.args.get('name', default='Guest')
        
        if not user_id:
            return {"error": "User ID is required"}, 400
        
        return {"user_id": user_id, "username": username}
    
  • Access full request details:

    @app.route('/request-info')
    def show_request_info():
        full_url = request.url
        client_ip = request.remote_addr
        request_method = request.method
        
        return {
            "requested_url": full_url,
            "client_ip": client_ip,
            "method": request_method
        }
    

To recap:

  • Use requests library to send GET requests to external services from your Flask app.
  • Use Flask's request module to receive and process GET requests sent to your Flask server.

内容的提问来源于stack exchange,提问作者Kingsley Torlowei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:30:14