2017-01-01 118 views
8

有没有办法获得RestSharp请求的完整url,包括它的资源和querystring参数?RestSharp获取请求的完整URL

IE对于这个请求:

RestClient client = new RestClient("http://www.some_domain.com"); 
RestRequest request = new RestRequest("some/resource", Method.GET); 
request.AddParameter("some_param_name", "some_param_value", ParameterType.QueryString); 

IRestResponse<ResponseData> response = client.Execute<ResponseData>(request); 

我想获得完整的请求URL:

http://www.some_domain.com/some/resource?some_param_name=some_param_value 

回答

18

要获得完整的URL中使用RestClient.BuildUri()

具体而言,在这个例子中使用client.BuildUri(request)

RestClient client = new RestClient("http://www.some_domain.com"); 
RestRequest request = new RestRequest("some/resource", Method.GET); 
request.AddParameter("some_param_name", "some_param_value", ParameterType.QueryString); 

IRestResponse<ResponseData> response = client.Execute<ResponseData>(request); 

var fullUrl = client.BuildUri(request); 
+0

这很好,但我注意到根据我的经验,你可以在Execute()之前调用'BuildUri()',这似乎更自然(我想记录我要做的事情,而不是我刚做的事情) 。 –