2017-07-18 1 views
0

Ich habe eine Flask-Anwendung mit POST-Methode in Python3 geschrieben. Immer wenn ich die URL an der Eingabeaufforderung drücke, wird GET Methode aufgerufen.
Hier ist die Anwendung:Flask-Anwendung keine POST-Anfrage von der Browser-URL geben

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() 

Immer, wenn ich die URL getroffen:

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

ich auf der Kommandozeile zu sehen wie:

* 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 - 

Aber ich will nur die Post nutzen Methode beim Treffen der URL. Ich weiß nicht, warum die GET-Methode ins Spiel kommt. Bitte, lassen Sie mich wissen, wie ich die POST Methode anstelle von GET Methode verwenden kann, während Sie die URL durch den Browser schlagen.

+0

Chrome-Plugin für die Erstellung von Post-Anforderung (und viele andere, wie Postman) sind schön zu machen. Ein Formular in html als '

' funktioniert auch – Luke

+0

Während des Treffens URL durch Browser wird es immer senden GET-Anfrage an Ihren Server per Browser. Sie können auf diese Weise keine POST-Anfrage senden! – Zico

Antwort

0

Sie können keine POST-Anfrage über die Adressleiste ausführen. Sie müssen JavaScript verwenden oder ein Formular mit der Methode "post" senden.

Ein paar Beispiele:

Form:

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

JavaScript (mit jQuery):

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

https://chrome.google.com/webstore/detail/postman/fhbjgbifllinjbdggehcddcbncdddomop?hl=de – Luke

+0

Aber das ist nicht die Adressleiste. Das ist ein Plugin. Wenn ich nicht falsch verstehe, was es macht. –

+0

@CoryMadden Ja, du schreibst. Ich bin nicht auf der Suche nach Anwendung, aber für eine Lösung für die Adressleiste –

0

Sie können keinen Beitrag Aufruf einer URL von Browser-Adressleiste machen. Sie können postman Werkzeug verwenden. Es ist sehr einfach, Anfragen mit diesem Tool zu machen, unterstützt alle Anfrage-Methoden und Autorisierungs-Header.

Oder einfach können Sie Python requests Modul verwenden Anfrage

Import requests 

r = requests.post('http://httpbin.org/post/', data = {'key':'value'}) 
Verwandte Themen