2017-07-18 62 views
0

我已經寫在Python3使用POST方法的應用瓶POST請求。每當我點擊URL時,在命令提示符處,我都會看到GET方法被調用。
這裏是應用程序:瓶的應用程序不會放棄從瀏覽器URL

from flask import Flask, jsonify, make_response, request  
app = Flask(__name__) 
@app.route('/api/v1.0/qanda/', methods=['POST']) 
def people_api(): 
    if request.method == 'POST': 
     text = request.data.get('text', '') 

     if text is None: 
      make_response(jsonify({'error': 'Missing text parameter'}), 400) 
    return text 
app.run() 

每當我打的網址:

http://127.0.0.1:5000/api/v1.0/qanda/?text=ggg 

我在命令行上看到的:

* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) 
127.0.0.1 - - [18/Jul/2017 09:33:15] "GET /api/v1.0/qanda/?text=ggg HTTP/1.1" 200 - 
127.0.0.1 - - [18/Jul/2017 09:33:22] "GET /api/v1.0/qanda/?text=ggg HTTP/1.1" 200 - 

但我想只用交方法同時擊中網址。我不知道爲什麼GET方法正在發揮作用。請讓我知道我可以使用,而不是GET方法POST方法,同時擊中通過瀏覽器的URL。

+0

瀏覽器插件,用於創建POST請求(以及許多其他國家,如郵差)都不錯。 HTML中的形式'<形式方法=「郵報」 ...>'也適用 – Luke

+0

同時通過瀏覽器,它會被瀏覽器總是發出GET請求到服務器擊中URL。沒辦法通過這種方式發送POST請求! – Zico

回答

0

你不能這樣做,通過在地址欄POST請求。您必須使用JavaScript或使用method ='post'提交表單。

幾個例子:

形式:

<form method='post' action='your url'> 
    <input name='name' type='text'> 
    <input type='submit'> 
</form> 

的JavaScript(用jQuery):

$.post({'your': 'data'}) 
+0

https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en – Luke

+0

但是,這不是在地址欄中。這是一個插件。除非我誤解它在做什麼。 –

+0

@CoryMadden是的,你正在寫。我不是在尋找應用程序,但是對於地址欄中 –

0

你不能讓一個電話後,從瀏覽器地址欄中的URL。您可以使用postman工具。使用此工具發出請求非常簡單,支持所有請求方法和授權標頭。

或者乾脆你可以使用Python的requests模塊使請求

Import requests 

r = requests.post('http://httpbin.org/post/', data = {'key':'value'}) 
相關問題