(Berikut ini adalah cerita latar, Anda dapat melompat ke "Pertanyaan:" jika Anda mau)
Ada halaman web untuk salah satu program saya yang menerima input teks (diharapkan menjadi kode Python) dan kemudian memberikan beberapa respons tokenized. Ini dimaksudkan untuk digunakan sebagai referensi untuk Python lexers yang sedang kami tulis. Saya mencoba mengotomatiskan proses pengujian saya dan dapat memeriksa kode saya tanpa membuka browser, menyalin teks bolak-balik, dll. Jadi inilah yang saya coba lakukan:
Saya punya contoh file python bernama "x.py" dan saya ingin mempostingnya ke server seolah-olah saya telah mengisi formulir itu. Saya sudah mencoba:
curl --data-urlencode "[email protected]" http://matt.might.net/apps/pylex/pylex.php
Tapi sayangnya, itu tidak berfungsi dengan baik karena tampaknya "@x.py"
semakin diposting sebagai isi file saya (yaitu, "[email protected]"
apa yang diposting, bukan "file=<contents-of-x.py>"
). Saya sudah mencoba --form
dan --data
tetapi itu tidak berhasil.
Pertanyaan:
Khususnya, jika saya memiliki file dengan konten yang tidak disandikan-url, dan konten file ini harus menjadi bagian dari POST dan dikaitkan dengan nama tertentu (dalam hal ini, file
), apa cara yang benar untuk mencapai ini ?
"file=`cat x.py`"
Jawaban:
Yang Anda inginkan adalah
"[email protected]"
(tidak=
).Dari halaman
curl
manual :sumber
Saya akan meninggalkan jawaban qmega sebagai jawaban yang diterima, tetapi saya akan memberikan jawaban yang saya tinggalkan di komentar di sini juga untuk memudahkan membaca. Satu cara lain untuk melakukan ini adalah dengan menentukan
"file=`cat x.py`"
. Untuk perintah penuh, itu akan menjadi:sumber