@Snova

Как проверить с каких ip перешли по ссылке в go?

Есть ссылка, которую нужно заменить на другую, как только по ней переходят с определенного хоста, инстаграмовского,если точнее. И так каждый раз менять ссылку, после клика по ней. Как реализовать через golang? Помогите пж
  • Вопрос задан
  • 144 просмотра
Пригласить эксперта
Ответы на вопрос 2
EvgenyMamonov
@EvgenyMamonov Куратор тега Go
Senior software developer, system architect
Проще всего сделать одну ссылку, повесить handler на этот URL и уже в handler'e в зависимости от IP делать перенаправление. Вот рабочий пример:
package main

import (
    "fmt"
    "net"
    "net/http"
)

func main() {
    http.HandleFunc("/redirect_by_ip", RedirectByIPHandler)
    http.ListenAndServe(":8080", nil)
}

func RedirectByIPHandler(w http.ResponseWriter, r *http.Request) {
    ip, _, err := net.SplitHostPort(r.RemoteAddr)
    if err != nil {
        fmt.Fprintf(w, "ip: %q is not IP:port", r.RemoteAddr)
        return
    }

    if ip == `IP который вам нуежен` {
        http.Redirect(w, r, `URL 1`, http.StatusFound)
    } else {
        http.Redirect(w, r, `URL 2`, http.StatusFound)
    }
}
Ответ написан
Заголовок HTTP Referer
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы