URL에서 호스트 도메인을 가져오시겠습니까?
문자열 URL에서 호스트 도메인을 가져오는 방법은 무엇입니까?
GetDomain에는 입력 "URL" 1개, 출력 "Domain" 1개가 있습니다.
예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의 호스트를 가져오는 개체입니다.
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에 대한 URI 부분을 정의합니다.GetLeftPart 메서드입니다.
http://www.contoso.com/index.htm?date=today --> http://www.contoso.com
http://www.contoso.com/index.htm#main --> http://www.contoso.com
ntp://news.contoso.com/123456 @contoso.com --> ntp://news.contoso.com
파일://server/sys.ext --> 파일://server
Uri uriAddress = new Uri("http://www.contoso.com/index.htm#search");
Console.WriteLine("The path of this Uri is {0}", uriAddress.GetLeftPart(UriPartial.Authority));
URI 클래스 및 호스트 속성 사용
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
var url = Regex.Match(url, @"(http:|https:)\/\/(.*?)\/");
입력 = "https://stackoverflow.com/questions/ ";
출력 = "https://stackoverflow.com/ ";
사용해 보세요.
Console.WriteLine(GetDomain.GetDomainFromUrl("http://support.domain.com/default.aspx?id=12345"));
support.domain.com 가 출력됩니다.
시도해 보세요.
Uri.GetLeftPart( UriPartial.Authority )
문자열을 URI 개체로 구성해야 하며 Authority 속성은 필요한 것을 반환합니다.
public static string DownloadImage(string URL, string MetaIcon,string folder,string name)
{
try
{
WebClient oClient = new WebClient();
string LocalState = Windows.Storage.ApplicationData.Current.LocalFolder.Path;
string storesIcons = Directory.CreateDirectory(LocalState + folder).ToString();
string path = Path.Combine(storesIcons, name + ".png");
//si la imagen no es valida ej "/icon.png"
if (!TextBoxEvent.IsValidURL(MetaIcon))
{
Uri uri = new Uri(URL);
string DownloadImage = "https://" + uri.Host + MetaIcon;
oClient.DownloadFile(new Uri(DownloadImage), path);
}
//si la imagen tiene todo ej https://www.mercadolibre.com/icon.png
else
{
oClient.DownloadFile(new Uri(MetaIcon), path);
}
return path;
}
catch (Exception ex)
{
return ex.ToString();
}
}
여기 모든 종류의 URL에 사용할 수 있는 솔루션이 있습니다.
public string GetDomainFromUrl(string url)
{
url = url.Replace("https://", "").Replace("http://", "").Replace("www.", ""); //Remove the prefix
string[] fragments = url.Split('/');
return fragments[0];
}
도메인 이름만 있으면 됩니다(www.bla.com -> bla).
URI가 필요하지 않습니다.
static string GetDomainNameOnly(string s)
{
string domainOnly = "";
if (!string.IsNullOrEmpty(s))
{
if (s.Contains("."))
{
string domain = s.Substring(s.LastIndexOf('.', s.LastIndexOf('.') - 1) + 1);
string countryDomain = s.Substring(s.LastIndexOf('.'));
domainOnly = domain.Replace(countryDomain, "");
}
else
domainOnly = s;
}
return domainOnly;
}
WWW는 별칭이므로 도메인을 원한다면 필요하지 않습니다.문자열에서 실제 도메인을 가져오는 작은 함수입니다.
private string GetDomain(string url)
{
string[] split = url.Split('.');
if (split.Length > 2)
return split[split.Length - 2] + "." + split[split.Length - 1];
else
return url;
}
언급URL : https://stackoverflow.com/questions/14211973/get-host-domain-from-url
'source' 카테고리의 다른 글
동적 열이 있는 MySQL 피벗 테이블 쿼리 (0) | 2023.07.29 |
---|---|
Golang 빈 문자열 대신 SQL에 NULL 삽입 (0) | 2023.07.29 |
Oracle - 참조자에서 특정 열 선택 (0) | 2023.07.29 |
도커 컨테이너 내에서 호스팅되는 phpmyadmin을 통해 MariaDB 데이터베이스에 액세스하려고 합니다. (0) | 2023.07.24 |
Python에서 장치 테스트의 데이터 출력 (0) | 2023.07.24 |