Konwersja żądań curl na python

Próbuję przekonwertować następujące żądanie robocze w curl na żądanie pythona (przy użyciu żądańhttp://docs.python-requests.org/en/v0.10.7/).

curl --data 'query={"tags":["test1","test2"]}' http://www.test.com/match

(proszę zauważyć, że użyłem fałszywego adresu URL, ale polecenie działa z prawdziwym adresem URL)

Końcówka odbiorcza (uruchomiona w Kolbie) robi to:

@app.route("/match", methods=['POST'])
def tagmatch():
    query = json.loads(request.form['query'])
    tags = query.get('tags')
    ... does stuff ...
    return json.dump(stuff)

W curl (7.30) uruchomiono na Mac OS X (10.9) powyższe polecenie poprawnie zwraca listę json, która filtrowała za pomocą zapytania znacznika.

Mój skrypt Pythona wygląda następująco, zwraca 400 złych żądań.

import requests

payload = {"tags":["test1", "test2"]}
# also tried  payload = 'query={"tags":["test1","test2"]}'
url = 'http://www.test.com/match'

r = requests.post(url, data=payload)

if __name__=='__main__':

     print r.text

Czuję, że brakuje mi czegoś małego i każda pomoc byłaby doceniana.

Dziękuję Ci

questionAnswers(6)

yourAnswerToTheQuestion