บางครั้งลิงก์มีอักขระ Unicode อยู่ในนั้นเช่นhttp://www.example.com/файл.zip
หากคุณชี้เบราว์เซอร์ไปที่เบราว์เซอร์จะแจ้งให้คุณดาวน์โหลดไฟล์เป็นфайл.zip แต่ถ้าคุณลองทำด้วยwget
ไฟล์จะมาพร้อมกับการเข้ารหัสเปอร์เซ็นต์การเข้ารหัส (เช่น% D0% BB) และ(invalid encoding)
สตริงหลังชื่อไฟล์
ฉันสามารถเพิ่มพารามิเตอร์ใดใน wget หรือเทคนิคบรรทัดคำสั่งอื่น ๆ เพื่อให้ทำงานเป็น Chrome และ Firefox และบันทึกไฟล์ตามที่ระบุในลิงก์ที่แสดงผล - ในกรณีนี้เป็นфайл.zip
โซลูชันควรทำงานได้โดยไม่ต้องเขียนไว้อย่างชัดเจนในคำสั่งดังนั้นwget -O файл.zip http://www.example.com/файл.zip
วิธีแก้ปัญหาที่ชัดเจนจึงไม่ใช่วิธีที่ดี
ฉันรู้ว่าทันทีที่คุณเรียกใช้wget http://www.example.com/файл.zip
จะพยายามดึงhttp://www.example.com/%D1%84%D0%B0%D0%B9%D0%BB.zipนั่นคือมันจะแปลงลิงก์เป็นเปอร์เซ็นต์ การเข้ารหัสซึ่งอาจเป็นสาเหตุว่าทำไมการบันทึกจึงไม่ทำให้ชื่อไฟล์ "ถูกต้อง"
ฉันโพสต์คำถามที่เกี่ยวข้องบ้างที่นี่ซึ่งคำตอบอาจมีหรือไม่มีประโยชน์กับคำถามนี้