(Das Folgende ist eine Hintergrundgeschichte. Sie können zu "Frage:" springen, wenn Sie möchten.)
Es gibt eine Webseite für einen meiner Kurse , die Eingabetext (voraussichtlich Python-Code) akzeptiert und anschließend eine symbolisierte Antwort gibt. Es soll als Referenz für die Python-Lexer dienen, die wir schreiben. Ich versuche, meinen Testprozess zu automatisieren und in der Lage zu sein, meinen Code zu überprüfen, ohne einen Browser zu öffnen, Text hin und her zu kopieren usw. Ich versuche also Folgendes zu tun:
Ich habe eine Beispiel-Python-Datei mit dem Namen "x.py" und möchte sie auf dem Server veröffentlichen, als hätte ich dieses Formular ausgefüllt. Ich habe es versucht:
curl --data-urlencode "[email protected]" http://matt.might.net/apps/pylex/pylex.php
Aber leider funktioniert das nicht richtig, weil anscheinend "@x.py"
als mein Dateiinhalt gepostet wird (das ist, "[email protected]"
was gepostet wird, nicht "file=<contents-of-x.py>"
). Ich habe es versucht --form
und --data
die haben auch nicht funktioniert.
Frage:
Wenn ich eine Datei mit nicht url-codiertem Inhalt besitze und der Inhalt dieser Datei Teil eines POST sein und einem bestimmten Namen zugeordnet werden muss (in diesem Fall file
), wie kann dies korrekt durchgeführt werden? ?
"file=`cat x.py`"
Antworten:
Was Sie wollen, ist
"[email protected]"
(nein=
).Aus der
curl
Manpage :quelle
Ich werde die Antwort von qmega als die akzeptierte Antwort belassen, aber ich werde eine Antwort, die ich hinterlassen habe, auch hier in einen Kommentar einfügen, um das Lesen zu erleichtern. Ein anderer Weg, dies zu tun, ist einfach durch Spezifizieren
"file=`cat x.py`"
. Für den vollständigen Befehl wäre es:quelle