MarcusQ miał odpowiedź sugerującą przyjrzenie się porównaniu wykonanemu przez faceta od curl: daniel.haxx.se/docs/curl-vs-wget.html . Niestety ta odpowiedź została usunięta, a nie zamieniona w komentarz.
Thorbjørn Ravn Andersen
Odpowiedzi:
47
Jeśli programujesz, powinieneś użyć curl. Posiada przyjemny interfejs API i jest dostępny dla większości języków. Wysyłanie do systemu operacyjnego w celu uruchomienia wget jest niewygodne i nie powinno być wykonywane, jeśli masz interfejs API!
Nigdy nie napotkałem żadnego problemu z wyrzucaniem WGET do skryptów Perla w celu zautomatyzowania pobierania rzeczy. Jednak w przypadku CURL często napotykam błąd 18 - przesyłanie zakończone z pozostałymi pozostałymi danymi do odczytu (patrz stackoverflow.com/questions/1759956/ ... ). Ten błąd najczęściej pojawia się podczas próby użycia go w skryptach Perla, ale WGET nigdy nie daje mi takich problemów. Czy nie należy tego brać pod uwagę?
SexyBeast
5
Jeśli używasz perla, naprawdę powinieneś używać biblioteki LWP (LWP :: Simple). Zawsze łatwiej jest odczytać kody odpowiedzi, przypisać funkcjonalne wywołania zwrotne i wychwycić wyjątki, niż przeanalizować wyjście tekstowe innego procesu.
Byron Whitlock
32
Funkcje częściowo się pokrywają. Podczas gdy GNU wget jest pakietem do pobierania plików przy użyciu protokołu HTTP / FTP, curl przesyła dane za pomocą jednego adresu URL. Jak wskazano w odsyłaczu udostępnionym przez MarkusQ , wget może pobierać rekursywnie - zobacz ten artykuł porównawczy, aby uzyskać więcej informacji autorstwa autora curl.
cURLjest przeznaczony do przesyłania danych w obu kierunkach, natomiast wgetsłuży do nieinteraktywnego pobierania plików z określonego źródła. Istnieją pewne nakładanie się na funkcjonalności, ale są one nie oznaczało to zrobić dokładnie te same rzeczy .
To naprawdę zależy od tego, co próbujesz zrobić; do prostszych zadań, takich jak pobieranie plików, wgeti cURLsą porównywalne, ale to naprawdę tylko rysuje powierzchnię obu narzędzi.
Obie oferują nieskończone możliwości, z których większości nigdy nie korzystałem. Jednak bardziej lubię wget, ponieważ domyślnie zapisuje dane wyjściowe z podanego adresu URL - idealne do pobrania. Curl idzie w drugą stronę i wyświetla dane wyjściowe bezpośrednio na terminalu (domyślnie).
Odpowiedzi:
Jeśli programujesz, powinieneś użyć curl. Posiada przyjemny interfejs API i jest dostępny dla większości języków. Wysyłanie do systemu operacyjnego w celu uruchomienia wget jest niewygodne i nie powinno być wykonywane, jeśli masz interfejs API!
źródło
Funkcje częściowo się pokrywają. Podczas gdy GNU wget jest pakietem do pobierania plików przy użyciu protokołu HTTP / FTP, curl przesyła dane za pomocą jednego adresu URL. Jak wskazano w odsyłaczu udostępnionym przez MarkusQ , wget może pobierać rekursywnie - zobacz ten artykuł porównawczy, aby uzyskać więcej informacji autorstwa autora curl.
źródło
cURL
jest przeznaczony do przesyłania danych w obu kierunkach, natomiastwget
służy do nieinteraktywnego pobierania plików z określonego źródła. Istnieją pewne nakładanie się na funkcjonalności, ale są one nie oznaczało to zrobić dokładnie te same rzeczy .To naprawdę zależy od tego, co próbujesz zrobić; do prostszych zadań, takich jak pobieranie plików,
wget
icURL
są porównywalne, ale to naprawdę tylko rysuje powierzchnię obu narzędzi.źródło
Obie oferują nieskończone możliwości, z których większości nigdy nie korzystałem. Jednak bardziej lubię wget, ponieważ domyślnie zapisuje dane wyjściowe z podanego adresu URL - idealne do pobrania. Curl idzie w drugą stronę i wyświetla dane wyjściowe bezpośrednio na terminalu (domyślnie).
źródło