J'utilise un serveur mod_python, où index.py est conçu pour gérer les demandes entrantes.HTTP POST, curl et mod_python - Comment gérer une requête POST sans élément HTML FORM?
Dans le index.py, si je conçois quelque chose comme ça pour gérer la forme et obtenir les détails de la forme:
<form enctype="multipart/form-data" action="func" method="post">
<p>Input file:<input type="file" name="request"></p>
<p><input type="submit" name="press" value="submit"></p>
Et obtenir les détails de la forme comme celui-ci (note l'action « Fonction » ci-dessus)
def func(req):
message = []
f = req.form.getfirst('request')
Cela fonctionne parfaitement à partir du navigateur. Je peux télécharger un fichier et son contenu peut être récupéré à la fin du serveur.
Cependant, je veux envoyer des données via le POST de curl. Dans ce cas, j'ai pensé, l'élément <forme> sur le serveur n'est pas nécessaire pour gérer POST, si je peux obtenir les données POST de l'objet de demande lui-même.
Supposons que ma demande par boucle est comme ceci:
curl --data "request=data_i_am_posting" http://mymodpythonsite.com/path/
comment mon gestionnaire de requêtes mod_python être conçus de telle sorte que je reçois les données que je suis l'affichage. Dois-je utiliser le formulaire < >?
def index(req):
# What should I do here to get data_i_am_posting
BTW, s'il vous plaît noter que je serveur HTTP ne sera pas accessible par navigateur à tous les clients (boucle, scripts) affichera les données et attendre la réponse qui sera non html.
Merci. C'est tout était nécessaire. Je pourrais même faire cela dans la méthode d'index. Quand j'avais fait un dir (req) initial sur index (req), je n'ai pas vu d'attribut de formulaire. Je ne suis pas sûr comment mod_python req obtient magiquement l'attribut de forme. –
Il y a un autre problème auquel je suis confronté. Quand je fais curl --data "request = " http://mymodpythonsite.com/path/ le serveur le voit comme un xml invalide comme: value = something (essayé --data , --data-binary, --data-urlencode, sans résultat) –
Rien ne saute sur moi immédiatement. Bien que cela semble être une opportunité pour une autre question SO :) – mjhm