2015-02-10 4 views
0

У меня есть этот домен http://mynewurl.com/, какой фрейм вперед - http://oldurl.com:8000 a go server Я запускаю блог.HTTP-перенаправление в Go lang

мне нужно иметь адреса для каждой почтовой карты правильно ака

На данный момент появления ссылки на главной странице маскирует URL полностью, так любое совместное использование (надеюсь, используя веб-термины) не будет ссылаться на этот URL-адрес, но главный URL-адрес ...

Но мне было интересно, могу ли я получить golang играть лучше и слушать новый URL-адрес?

func main() { 
    http.HandleFunc("/", handlerequest) 
    http.ListenAndServe(":8000", nil) 
} 
+0

один предложение есть index.php, который извлекает данные удаленной страницы в и впрыскивает его в фактическую страницу найти в newurl.com – adamprocter

+0

аки - CURL PHP https://github.com/joshdick/miniproxy – adamprocter

ответ

2

Посмотрите на httputil.ReverseProxy

Я использовал его для выполнения запроса дампера, который по существу делает то, что вы описали - слушать на определенный порт и вперед к некоторым URL.

Это пример кода. Пробег может меняться, поскольку я просто удалял части, связанные с фактической работой, которую я делаю в прокси и левой части, которые выполняют маршрутизацию. Но это может быть отправной точкой.

func SetProxy(targetUrl string) (newUrl string, err error) { 
    var target *url.URL 
    target, err = url.Parse(targetUrl) 
    if err != nil { 
     return "", err 
    } 
    origHost := target.Host 
    origScheme := target.Scheme 
    d := func(req *http.Request) { 
     req.URL.Host = origHost 
     req.URL.Scheme = origScheme 
    } 

    p := &httputil.ReverseProxy{Director: d,} 
    http.HandleFunc("/", p) 

    target.Host = "localhost:8000" 
    target.Scheme = "http" 
    newUrl = target.String() 
    go func() { 
     err = http.ListenAndServe(":"+localPort, nil) 
     if err != nil { 
      panic(err) 
     } 
    }() 

    return newUrl, nil 
} 
+0

спасибо, я подумайте, основываясь на моем случае использования, это будет сложнее, чем я ожидал – adamprocter

Смежные вопросы