Eine Übersee-Cloud-Sourcing-Site namens CloudFlower bietet eine API, und ich stecke fest, wenn ich versuche, sie zu verwenden.
Terminal
curl -X POST --data-urlencode "job[title]={some_title}" --data-urlencode "job[instructions]={some_instructions}" https://api.crowdflower.com/v1/jobs.json?key={api_key}
by http://success.crowdflower.com/customer/portal/articles/1553902
Hmm? Ich kenne ? Key = {api_key}
als URL-Abfrage, aber was ist --data-urlencode
?
--data-urlencode data Versendet Daten wie jede andere Option --data, mit Ausnahme der HTTP-URL-Codierung. (7.18.0 oder höher) Um CGI zu entsprechen, beginnt der Datenteil mit dem Namen, setzt ein Trennzeichen und gibt dann den Inhalt weiter an. Das Format des Datenteils ist wie folgt: content Der Inhalt wird URL-codiert und dann POSTED. Stellen Sie sicher, dass der Inhalt nicht die Zeichen = oder @ enthält. Es wird einem der folgenden Formate entsprechen! =content Der Inhalt wird URL-codiert und dann POSTED. Das erste Zeichen = ist nicht in den Daten enthalten. name=content Der Inhaltsteil wird URL-codiert und dann POSTED. Beachten Sie, dass der Namensteil bereits als URL-codiert gilt. @filename This will make curl load data from the given file (including any newlines), URL-encode that data and pass it on in the POST. Die Daten werden aus der angegebenen Datei in Curl (einschließlich Zeilenumbrüche) eingelesen, URL-codiert und dann POST. name@filename Die Daten werden aus der angegebenen Datei in Curl (einschließlich Zeilenumbrüche) eingelesen, URL-codiert und dann POST. Dem Namensteil wird eine gleiche Zahl hinzugefügt, um den Inhalt der mit name = URL codierten Datei zu bilden. Beachten Sie, dass der Namensteil bereits als URL-codiert gilt.
Hmmm, ist es eine Option, die beim Posten von Daten sowie URL-Parametern verwendet wird? (Das ist der gleiche wie der Parameter?) In diesem Fall das Muster "Name = Inhalt".
... Sie können es normalerweise als Parameter senden !!
curl2requests.py
import requests
def main():
payload={'key':APIKey,'job[title]':'Awesome','job[instructions]':'Welcome'}
r = requests.post("https://api.crowdflower.com/v1/jobs.json",params=payload)
if __nama__='__main__':
main()
erledigt!!
Es ist zweifelhaft, dass andere Muster als "name = content" sicher verwendet werden können> <
curl.1 man page Fordert HTTP für Menschen an
Recommended Posts