Powiedzmy, że hostuję witrynę pod adresem http://www.foobar.com .
Czy istnieje sposób, w jaki mogę programowo sprawdzić „ http://www.foobar.com/ ” w moim kodzie (tj. Bez konieczności kodowania go na stałe w mojej konfiguracji internetowej)?
Powiedzmy, że hostuję witrynę pod adresem http://www.foobar.com .
Czy istnieje sposób, w jaki mogę programowo sprawdzić „ http://www.foobar.com/ ” w moim kodzie (tj. Bez konieczności kodowania go na stałe w mojej konfiguracji internetowej)?
Request
obiektu.Odpowiedzi:
HttpContext.Current.Request.Url może uzyskać wszystkie informacje dotyczące adresu URL. I może rozbić adres URL na jego fragmenty.
źródło
Metoda Uri :: GetLeftPart :
UriPartial Enumeration :
źródło
Dla każdego, kto wciąż się zastanawia, pełniejsza odpowiedź jest dostępna pod adresem http://devio.wordpress.com/2009/10/19/get-absolut-url-of-asp-net-application/ .
źródło
context.Request.Url.Port == 80
na(context.Request.Url.Port == 80 && context.Request.Url.Scheme == "http") || (context.Request.Url.Port == 443 && context.Request.Url.Scheme == "https")
lub użyć odpowiedzi poniżejJeśli przykładowy adres URL to http://www.foobar.com/Page1
źródło
.Host
o"http://www.foobar.com/Page1"
towww.foobar.com
, niefoobar.com
.źródło
Aby uzyskać cały ciąg adresu URL żądania:
Aby uzyskać część dotyczącą www.foo.com żądania:
Zauważ, że do pewnego stopnia jesteś zdany na łaskę czynników spoza aplikacji ASP.NET. Jeśli usługi IIS są skonfigurowane tak, aby akceptować wiele lub dowolny nagłówek hosta dla aplikacji, każda z tych domen, które zostały rozpoznane przez Twoją aplikację za pośrednictwem DNS, może zostać wyświetlona jako adres URL żądania, w zależności od tego, którą z nich wprowadził użytkownik.
źródło
host.com => return host.com
s.host.com => return host.com
host.co.uk => return host.co.uk
www.host.co.uk => return host.co.uk
s1.www.host.co.uk => return host.co.uk
źródło
- Dodanie portu może pomóc podczas uruchamiania usług IIS Express
źródło
źródło
Wiem, że to jest starsze, ale teraz należy to zrobić
W ten sposób uzyskasz adres DNS lub IP z portem dla serwera.
źródło
Działa to również:
źródło
Przykład C # poniżej:
źródło
źródło
To zwróci konkretnie to, o co prosisz.
Wiem, że to starsze pytanie. Ale potrzebowałem tej samej prostej odpowiedzi, a ta zwraca dokładnie to, o co pytano (bez http: //).
źródło