42 lines
717 B
Go
42 lines
717 B
Go
package main
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
|
|
"git.3crabs.ru/VLADIMIR/net/http"
|
|
)
|
|
|
|
type CustomDNS struct{}
|
|
|
|
func (*CustomDNS) GetIP(domain string) (string, error) {
|
|
if domain == "test.ru" {
|
|
return "127.0.0.1:8081", nil
|
|
}
|
|
return "", errors.New("ip not found")
|
|
}
|
|
|
|
func main() {
|
|
client := http.Client{
|
|
DNS: &CustomDNS{},
|
|
Transport: &http.HttpTransport{},
|
|
}
|
|
r, err := client.Do(
|
|
"GET",
|
|
"http://test.ru",
|
|
[]http.Header{
|
|
{Name: "Host", Value: "3crabs.ru"},
|
|
{Name: "User-Agent", Value: "3crabs/0.0.1"},
|
|
{Name: "Accept", Value: "*/*"},
|
|
},
|
|
)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
fmt.Println(r.StatusCode)
|
|
for _, header := range r.Headers {
|
|
fmt.Println(header)
|
|
}
|
|
fmt.Println(string(r.Body))
|
|
}
|