| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package main
- import (
- "fmt"
- "log"
- "encoding/json"
- "net/http"
- "net/url"
- "github.com/joho/godotenv"
- "os"
- )
- type IPR struct{
- IP string `json:"origin"`
- }
- func main() {
- err := godotenv.Load()
- if err != nil {
- log.Println(err)
- }
- proxy := os.Getenv("proxy")
- proxyURL, err := url.Parse(proxy)
- if err != nil {
- log.Fatalln(err)
- }
- tran := &http.Transport{
- Proxy: http.ProxyURL(proxyURL),
- }
- myclient := &http.Client {
- Transport: tran,
- }
- url, err := myclient.Get("https://httpbin.org/ip")
- if err != nil {
- log.Fatalf("%v\n", err)
- }
- defer url.Body.Close()
- var ipresp IPR
- err = json.NewDecoder(url.Body).Decode(&ipresp)
- if err != nil {
- log.Fatalf("%v\n", err)
- }
- fmt.Println(ipresp.IP)
- }
|