(ต่อไปนี้คือ backstory คุณสามารถข้ามไปที่ "คำถาม:" หากคุณต้องการ)
มีหน้าเว็บสำหรับหนึ่งในหลักสูตรของฉันที่ยอมรับข้อความอินพุต (คาดว่าจะเป็นรหัส Python) จากนั้นให้การตอบสนองโทเค็นบางอย่าง มันถูกใช้เพื่อเป็นข้อมูลอ้างอิงสำหรับ Python lexers ที่เราเขียน ฉันพยายามทำให้กระบวนการทดสอบเป็นแบบอัตโนมัติและสามารถตรวจสอบรหัสของฉันโดยไม่ต้องเปิดเบราว์เซอร์คัดลอกข้อความไปมาเป็นต้นดังนั้นนี่คือสิ่งที่ฉันพยายามทำ:
ฉันมีไฟล์ไพ ธ อนตัวอย่างชื่อ "x.py" และฉันต้องการโพสต์ไปยังเซิร์ฟเวอร์ราวกับว่าฉันกรอกแบบฟอร์มนั้นแล้ว ฉันได้พยายาม:
curl --data-urlencode "file=@x.py" http://matt.might.net/apps/pylex/pylex.php
แต่น่าเสียดายที่มันใช้งานไม่ได้เพราะเห็นได้ชัดว่า"@x.py"
กำลังโพสต์เป็นเนื้อหาไฟล์ของฉัน (นั่น"file=@x.py"
คือสิ่งที่โพสต์ไม่ใช่"file=<contents-of-x.py>"
) ฉันพยายาม--form
แล้ว--data
แต่ก็ไม่ได้ผลเหมือนกัน
คำถาม:
โดยเฉพาะถ้าฉันมีไฟล์ที่มีเนื้อหาที่ไม่ได้เข้ารหัส URL และเนื้อหาของไฟล์นี้ต้องเป็นส่วนหนึ่งของ POST และเชื่อมโยงกับชื่อเฉพาะ (ในกรณีนี้file
) วิธีที่ถูกต้องในการทำสิ่งนี้ให้สำเร็จคืออะไร ?
"file=`cat x.py`"