使用HttpGET的RestSharp方法AddParameter和AddQueryParameter之间的区别 [英] Difference between RestSharp methods AddParameter and AddQueryParameter using HttpGET

查看:34
本文介绍了使用HttpGET的RestSharp方法AddParameter和AddQueryParameter之间的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用RestSharp调用外部API.

I'm using RestSharp to call an external API.

这有效:

var client = new RestClient(apiUrl);
var request = new RestRequest(myurl, Method.GET);

foreach (var param in parameters)
{
    request.AddQueryParameter(param.Key, param.Value);
}
var response = client.Execute(request);

这不是:

var client = new RestClient(apiUrl);
var request = new RestRequest(myurl, Method.GET);

foreach (var param in parameters)
{
    request.AddParameter(param.Key, param.Value);
}
var response = client.Execute(request);

结果:

System.Exception:API调用MyWebAPIMethod GET:失败,状态码为0-无法连接到远程服务器

System.Exception: API Call MyWebAPIMethod GET: Failed with status code 0 - Unable to connect to the remote server

AddParameter AddQueryParameter 有什么区别?

根据文档,当使用HttpGET时,它们应该具有相同的功能;根据Fiddler的说法,它们似乎也生成相同的URL.

According to the documentation they should function the same when using HttpGET and according to Fiddler they seem to generate the same URL as well.

推荐答案

回答您的问题

AddQueryParameter 在查询字符串中将参数添加为 ParameterType.QueryString ,而 AddParameter(string,object)将参数添加为ParameterType.GetOrPost

AddQueryParameter adds a parameter in the query string as ParameterType.QueryString whereas AddParameter(string, object) adds the parameter as ParameterType.GetOrPost

有关每种参数类型的更多详细信息,请参见:

For more details on each parameter type, see:

GetOrPost : https://github.com/restsharp/RestSharp/wiki/ParameterTypes-for-RestRequest#getorpost

QueryString : https://github.com/restsharp/RestSharp/wiki/ParameterTypes-for-RestRequest#querystring

解决您的问题

似乎与参数的类型无关,因为抛出的异常似乎表明您甚至没有连接到远程服务器.

It seems it is unrelated to the type of parameter, because the exception thrown seems to indicate you aren't even connecting to the remote server.

请确保在两种情况下都传递相同的 apiUrl / myUrl .

make sure you pass the same apiUrl / myUrl in both cases.

这篇关于使用HttpGET的RestSharp方法AddParameter和AddQueryParameter之间的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆