Windows CURL mengunduh file - karakter khusus di URL

0

Saya perlu mengunduh file .xls dengan Windows cURL dan saya punya masalah dengan URL file itu, karena mengandung karakter khusus "Č".

URL itu adalah: http://www.ccs.cz/data/141001_Seznam_ČStxt14196.xls

Saya mencobanya dengan perintah ini di baris perintah Windows atau gitbash:

curl "http://www.ccs.cz/data/141001_Seznam_ČStxt14196.xls" > file.xls

Hasilnya adalah saya mengunduh file HTML yang berisi informasi "halaman ini tidak ada". Saya tidak dapat menyandikan URL ke bentuk yang benar, yang mengembalikan saya file xls.

Terima kasih banyak atas saran Anda.

pengguna1336101
sumber
Saya membuat versi URL yang disandikan, yang berfungsi di git bash: URL adalah: ccs.cz/datas/CCS%C4%8Cerpac%C3%ADstanice_10_351.2013_351.xls. Tapi saya perlu menulis skrip kelelawar, yang akan mengunduh file itu dan url ini masih tidak berfungsi ...
user1336101
Versi Windows apa yang Anda gunakan? PowerShell mungkin alat yang lebih tepat untuk Anda. Jika Anda memiliki Win7 SP1, Anda harus memperbaruinya ke PowerShell 3.0 untuk mendapatkan akses ke cmdlet penting. Windows 8 atau yang lebih baru memiliki 3.0.
Iszi

Jawaban:

0

Ini berfungsi di PowerShell pada Windows 8.1. Ini juga harus valid untuk PowerShell 3.0 atau yang lebih baru pada Windows 7 SP1 atau yang lebih baru.

Invoke-WebRequest "http://www.ccs.cz/data/141001_Seznam_ČStxt14196.xls" -OutFile '141001_Seznam_ČStxt14196.xls'

Invoke-WebRequestadalah PowerShell yang setara dengan curl. Karena PowerShell menangani karakter khusus sedikit lebih anggun daripada CMD, tidak diperlukan pengodean URL. Namun, karena PowerShell juga menyediakan akses ke kelas di .NET Framework yang mendasarinya, Anda dapat menggunakan sesuatu seperti [URI]::EscapeDataString()melakukan pengkodean saat dibutuhkan.

Untuk informasi lebih lanjut, lihat artikel MSDN / TechNet berikut:

Invoke-WebRequest
Kelas URI

Iszi
sumber