(Oto historia, możesz przejść do „Pytanie:”, jeśli chcesz)
Jest strona dla jednego z moich kursów, która akceptuje tekst wejściowy (prawdopodobnie kodem Python), a następnie daje tokenizowaną odpowiedź. Ma to służyć jako odniesienie do pisanych przez nas leksyków Python. Próbuję zautomatyzować proces testowania i móc sprawdzić kod bez otwierania przeglądarki, kopiowania tekstu tam iz powrotem itp. Więc oto, co próbuję zrobić:
Mam przykładowy plik python o nazwie „x.py” i chcę go wysłać na serwer, tak jakbym wypełnił ten formularz. Próbowałem:
curl --data-urlencode "[email protected]" http://matt.might.net/apps/pylex/pylex.php
Ale niestety to nie działa poprawnie, ponieważ najwyraźniej "@x.py"
jest publikowany jako zawartość mojego pliku (to znaczy to, "[email protected]"
co jest publikowane, a nie "file=<contents-of-x.py>"
). Próbowałem --form
i --data
tylko tych, którzy nie pracowali albo.
Pytanie: W
szczególności, jeśli mam plik z zawartością niekodowaną w adresie URL, a zawartość tego pliku musi być częścią POST i powiązana z określoną nazwą (w tym przypadku file
), jaki jest właściwy sposób osiągnięcia tego celu ?
"file=`cat x.py`"
Odpowiedzi:
To czego chcesz to
"[email protected]"
(nie=
).Z strony
curl
podręcznika :źródło
Pozostawię odpowiedź qmega jako zaakceptowaną, ale w komentarzu zostawię też odpowiedź, aby ułatwić czytanie. Innym sposobem na to jest po prostu poprzez określenie
"file=`cat x.py`"
. Dla pełnego polecenia byłoby to:źródło