RestSharp получит полный URL-адрес запроса
Есть ли способ получить полный URL-адрес запроса RestSharp, включая его параметры ресурса и запроса?
I.E для этого запроса:
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
Ответы
Ответ 1
Чтобы получить полный 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);
Ответ 2
Ну, это довольно сложно. Чтобы получить полный запрошенный URL-адрес, используйте RestClient.Execute(request).ResponseUri
чтобы убедиться, что это уже отправленный запрос.
В этом примере:
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);
Uri fullUrl = response.ResponseUri;
Этот код:
Console.WriteLine(string.Format("response URI: {0}", response.ResponseUri.ToString()));
возвращает:
response URI: http://www.some_domain.com/some/resource?some_param_name=some_param_value