RestSharp 获得完整的 URL 个请求

RestSharp get full URL of a request

有没有办法获取完整的 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

要获得完整的 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);

好吧,这很棘手。 要获得完整的请求 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()));

returns:

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