The Go standard library comes with excellent support for HTTP clients and servers in the `net/http` package. In this example we'll use it to issue simple HTTP requests. | package main |
|
import ( |
||
"bufio" |
||
"fmt" |
||
"net/http" |
||
) |
||
func main() { |
||
Issue an HTTP GET request to a server. `http.Get` is a convenient shortcut around creating an `http.Client` object and calling its `Get` method; it uses the `http.DefaultClient` object which has useful default settings. | resp, err := http.Get("http://gobyexample.com") |
|
if err != nil { |
||
panic(err) |
||
} |
||
defer resp.Body.Close() |
||
Print the HTTP response status. | fmt.Println("Response status:", resp.Status) |
Response status: 200 OK |
Print the first 5 lines of the response body. | scanner := bufio.NewScanner(resp.Body) |
|
for i := 0; scanner.Scan() && i < 5; i++ { |
||
fmt.Println(scanner.Text()) |
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Go by Example</title> |
|
} |
||
if err := scanner.Err(); err != nil { |
||
panic(err) |
||
} |
||
} |