URL에서 호스트 도메인을 가져 오시겠습니까? 1 개의

문자열 URL에서 호스트 도메인을 얻는 방법은 무엇입니까?

GetDomain에는 1 개의 입력 “URL”, 1 개의 출력 “Domain”이 있습니다.

예 1

INPUT: http://support.domain.com/default.aspx?id=12345
OUTPUT: support.domain.com

예 2

INPUT: http://www.domain.com/default.aspx?id=12345
OUTPUT: www.domain.com

실시 예 3

INPUT: http://localhost/default.aspx?id=12345
OUTPUT: localhost



답변

Request객체 또는 Uri객체를 사용 하여 URL 호스트를 얻을 수 있습니다 .

Request.Url 사용

string host = Request.Url.Host;

Uri 사용

Uri myUri = new Uri("http://www.contoso.com:8080/");
string host = myUri.Host;  // host is "www.contoso.com"


답변

이렇게 해보십시오;

Uri.GetLeftPart( UriPartial.Authority )

Uri.GetLeftPart 메서드에 대한 URI 부분을 정의합니다.


http://www.contoso.com/index.htm?date=today- > http://www.contoso.com

http://www.contoso.com/index.htm#main- > http://www.contoso.com

nntp : //news.contoso.com/123456@contoso.com-> nntp : //news.contoso.com

file : //server/filename.ext-> file : // 서버

Uri uriAddress = new Uri("http://www.contoso.com/index.htm#search");
Console.WriteLine("The path of this Uri is {0}", uriAddress.GetLeftPart(UriPartial.Authority));

Demo


답변

사용 열린 우리당 클래스와 사용 호스트 특성

Uri url = new Uri(@"http://support.domain.com/default.aspx?id=12345");
Console.WriteLine(url.Host);


답변

다음 진술을 시도하십시오

 Uri myuri = new Uri(System.Web.HttpContext.Current.Request.Url.AbsoluteUri);
 string pathQuery = myuri.PathAndQuery;
 string hostName = myuri.ToString().Replace(pathQuery , "");

예 1

 Input : http://localhost:4366/Default.aspx?id=notlogin
 Ouput : http://localhost:4366

예 2

 Input : http://support.domain.com/default.aspx?id=12345
 Output: support.domain.com


답변

가장 좋은 방법은 올바른 방법으로 Uri.Authority필드를 사용하는 것 입니다.

다음과 같이 Uri를로드하고 사용하십시오.

Uri NewUri;

if (Uri.TryCreate([string with your Url], UriKind.Absolute, out NewUri))
{
     Console.Writeline(NewUri.Authority);
}

Input : http://support.domain.com/default.aspx?id=12345
Output : support.domain.com

Input : http://www.domain.com/default.aspx?id=12345
output : www.domain.com

Input : http://localhost/default.aspx?id=12345
Output : localhost

Url을 조작하려면 Uri 객체를 사용하는 것이 좋습니다.
https://msdn.microsoft.com/en-us/library/system.uri(v=vs.110).aspx


답변

이 시도

Console.WriteLine(GetDomain.GetDomainFromUrl("http://support.domain.com/default.aspx?id=12345"));

support.domain.com을 출력합니다.

아니면 시도

Uri.GetLeftPart( UriPartial.Authority )


답변

문자열을 URI 객체 로 구성해야 하고 Authority 속성은 필요한 것을 반환합니다.