Un site d'approvisionnement dans le cloud à l'étranger appelé CloudFlower fournit une API, et je suis bloqué lorsque j'essaie de l'utiliser.
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? Je connais ? Key = {api_key}
comme requête d'URL, mais qu'est-ce que --data-urlencode
?
--data-urlencode data Publie des données comme n'importe quelle autre option --data, à l'exception du codage d'URL HTTP. (7.18.0 ou version ultérieure) Pour se conformer à CGI, la partie de données commence par nom, place un délimiteur, puis continue à spécifier le contenu. Le format de la partie de données est le suivant: content Le contenu est encodé en URL puis POSTÉ. Assurez-vous que le contenu ne contient pas les caractères = ou @. Il correspondra à l'un des formats ci-dessous! =content Le contenu est encodé en URL puis POSTÉ. Le premier caractère = n'est pas inclus dans les données. name=content La partie contenu est encodée en URL puis POSTÉE. Notez que la partie nom est déjà considérée comme encodée en URL. @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. Les données sont lues dans curl (y compris les sauts de ligne) à partir du fichier donné, encodées en URL puis POSTées. name@filename Les données sont lues dans curl (y compris les sauts de ligne) à partir du fichier donné, encodées en URL puis POSTées. Un nombre égal est ajouté à la partie nom pour former le contenu du fichier name = URL encodé. Notez que la partie nom est déjà considérée comme encodée en URL.
Hmmm, est-ce une option utilisée lors de la publication de données ainsi que des paramètres d'URL? (C'est le même que le paramètre?) Dans ce cas, le modèle de «nom = contenu».
... vous pouvez l'envoyer en paramètre normalement !!
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()
l'a fait!!
Il est peu probable que des modèles autres que name = content
puissent être utilisés en toute sécurité> <
page de manuel curl.1 Requêtes HTTP pour les humains
Recommended Posts