Czasami link zawiera znaki Unicode, takie jak http://www.example.com/файл.zip
Jeśli wskażesz na nią przeglądarkę, wyświetli się monit o pobranie pliku jako файл.zip. Ale jeśli spróbujesz to zrobić wget
, plik zawiera mieszankę?, Kodowania procentowego (np.% D0% BB) i (invalid encoding)
ciąg po nazwie pliku.
Jakie parametry mogę dodać do wget lub innych sztuczek wiersza poleceń, aby zachowywał się jak Chrome i Firefox i zapisuje plik dokładnie tak, jak podano w renderowanym łączu - w tym przypadku jako файл.zip?
Rozwiązanie powinno działać bez konieczności jawnego zapisywania go w poleceniu, więc polecenie jawne wget -O файл.zip http://www.example.com/файл.zip
nie jest dobrym rozwiązaniem.
Zdaję sobie sprawę, że jak tylko uruchomisz wget http://www.example.com/файл.zip
, próbuje pobrać http://www.example.com/%D1%84%D0%B0%D0%B9%D0%BB.zip , to znaczy, że konwertuje link na procent kodowanie, co może być powodem, dla którego zapisuje się, nie renderuje nazwy pliku „poprawnie”.
Zadałem tu nieco powiązane pytanie , na które odpowiedź może lub nie może pomóc.
--restrict-file-names=nocontrol
wtedy, gdy link do pliku nie jest ostateczny.Nie mogłem znaleźć sposobu na rozwiązanie tego problemu,
wget
ale mogłem z powodzeniem przenieść pliki za pomocą Midnight Commander .źródło