123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package main
- import (
- "io"
- "log"
- "net/http"
- "os"
- "github.com/cryptix/goSam"
- )
- func main() {
- //In order to enable debugging, pass the SetDebug(true) option.
- //sam, err := goSam.NewClientFromOptions(SetDebug(true))
- // create a default sam client
- sam, err := goSam.NewDefaultClient()
- checkErr(err)
- log.Println("Client Created")
- // create a transport that uses SAM to dial TCP Connections
- tr := &http.Transport{
- Dial: sam.Dial,
- }
- // create a client using this transport
- client := &http.Client{Transport: tr}
- // send a get request
- resp, err := client.Get("http://stats.i2p/")
- checkErr(err)
- defer resp.Body.Close()
- log.Printf("Get returned %+v\n", resp)
- // create a file for the response
- file, err := os.Create("stats.html")
- checkErr(err)
- defer file.Close()
- // copy the response to the file
- _, err = io.Copy(file, resp.Body)
- checkErr(err)
- log.Println("Done.")
- }
- func checkErr(err error) {
- if err != nil {
- log.Fatal(err)
- }
- }
|