개발 언어/C,C++,C#

C# URL 가져와서 파라미터 자르기 (호출)

삐뚤어진 개발자 2020. 2. 8.

c# url 가져오기 파라미터 자르기

 

c#에서 GET 방식으로 URL에 파라미터를 붙여서 사용하는 경우가 많다.

 

예를 들어, http://www.ringobee.com:80/js/test.aspx?title=ringobee&content=test 

title = ringobee 

content = test

 

 

 

- C# 코드에서 url를 불러오는 문법

 

Ex)  http://www.ringobee.com:80/js/test.aspx?title=ringobee&content=test 

HttpContext.Current.Request.Url.Host 도메인 www.ringobee.com
HttpContext.Current.Request.Url.Authority 도메인+포트 www.ringobee.com:80
HttpContext.Current.Request.Url.Port 포트 80
HttpContext.Current.Request.Url.AbsolutePath 경로만 /js/test.aspx
HttpContext.Current.Request.Url.ApplicationPath 가상경로 /
HttpContext.Current.Request.Url.AbsoluteUri 도메인+포트+쿼리스트링 http://www.ringobee.com:80/js/test.aspx?title=ringobee&content=test 
HttpContext.Current.Request.Url.PathAndQuery 경로+쿼리스트링 /js/test.aspx?title=ringobee&content=test 
HttpContext.Current.Request.Path.ToString() 경로 /js/test.aspx
HttpContext.Current.Request.QueryString.ToString() 쿼리스트링 title=ringobee&content=test
HttpContext.Current.Request.RawUrl.ToString() 경로+쿼리스트링 /js/test.aspx?title=ringobee&content=test
HttpContext.Current.Request.Url.Query.ToString() 쿼리스트링 ?title=ringobee&content=test

HttpContext.Current. 까지는 생략하고

Request. 부터 적어줘도 된다.

ex) Request.Url.Host

 

 

 

- 파라미터를 가져와 제거하는 함수

 

public string remove_QueryString(string removeParam){
	NameValueCollection query_str = HttpUtillity.ParseQueryString(HttpContext.Current.QueryString.ToString());
	
    string[] removeParam = removeParam.Split(',');
    foreach(string param in removeParam)
    {
    	query_str.Remove(param);
    }
    return query_str.ToString();
}

//함수 사용.
Console.WriteLine(remove_QueryString("content"));
//==> 결과 : title=ringobee

 

함수의 사용법은 함수 string 파라미터를 제외할 파라미터 이름을 넣어준다. 

title = ringobee

content = test

였으니 content를 제거하면 

결과는  title=ringobee 가 출력된다.

 

댓글