2015-06-02 14 views
7

我正在使用curl向期望多個查詢參數的Flask路由發出請求。但是,日誌只顯示URL中的第一個參數,而Flask不會看到第二個參數。出了什麼問題?Flask只能看到來自多個參數的第一個參數,發送時帶有curl

@app.route('/path', methods=['GET']) 
def foo(): 
    print request.args.get('param2') 
    req = request.args.items() 
    print req 
curl http://localhost:5000/path?param1=1&param2=2 
127.0.0.1 - - [01/Jun/2015 21:35:10] "GET /path?param1=1 HTTP/1.1" 200 - 
None 
[('param1', u'1')] 
+0

你的代碼看起來不錯。你從燒瓶中導入了「請求」嗎? –

+0

我輸入: 從應用程序導入從 進口瓶瓶,請求jsonify,響應,stream_with_context,從SQLAlchemy的進口列make_response 從flask.ext.sqlalchemy進口SQLAlchemy的 ,整數,字符串,日期時間,浮法 進口cStringIO import csv import datetime – MakleBirt

+0

127.0.0.1 - - [01/Jun/2015 21:35:10]「GET/path?param1 = 1 HTTP/1.1」200 - – MakleBirt

回答

14

見Bidhan的評論here。我在使用curl時沒有將我的URL放在雙引號內。

報價:

如果你正在使用curl,那麼你需要傳遞引號內的網址。 它應該看起來像curl "localhost:5000/path?param1=1&param2=2"。在 外殼,&用於分叉過程,並不像您 預期的那樣工作。 - Bidhan A

相關問題