shad-go/urlfetch
2024-06-05 20:36:34 +03:00
..
main.go Implemented sum, urlfetch and fetchall tasks 2024-06-02 02:47:30 +03:00
main_test.go Updated to the most recent version, which uses go 1.22 2024-06-05 20:36:34 +03:00
README.md Update README.md 2021-04-01 01:27:18 +03:00

urlfetch

В этой задаче нужно написать консольную утилиту, которая принимает на вход произвольное количество http URL'ов и последовательно скачивает их содержимое.

При обработке невалидного URL'а программа должна завершаться с ненулевым exit кодом.

Примеры

Успешный запуск:

$ urlfetch https://golang.org https://go.dev
<!DOCTYPE html>
<html lang="en">
<meta charset="utf-8">
<meta name="description" content="Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.">
...

Неуспешный запуск:

$ urlfetch golang.org       
fetch: Get golang.org: unsupported protocol scheme ""

Проверка решения

Для запуска тестов нужно выполнить следующую команду:

go test -v ./urlfetch/...

Запуск программы

go run -v ./urlfetch/main.go

Компиляция

go install ./urlfetch/...

После выполнения в $GOPATH/bin появится исполняемый файл с именем urlfetch.

Линтер

Установите golangci-lint, если вы ещё этого не сделали, и проверьте решение перед отправкой!

golangci-lint -v run ./urlfetch/...

Walkthrough

  1. Чтение аргументов командной строки: https://gobyexample.com/command-line-arguments
  2. HTTP запрос: https://golang.org/pkg/net/http/