http 参数Java_关于java:如何将“参数”发送到所有HTTP请求方法?

我正在尝试为Gengo API编写一个Java客户端(使用Apache HttpClient),该客户端使用HTTP GET,POST,PUT和DELETE。但是,对于它们公开的每个RESTful API"方法",您必须将API密钥和签名作为"参数"传递。

这是否意味着查询字符串参数,POST变量,键值对标头或其他内容?

我想我对所有这些不同的HTTP请求方法上下文中的"参数"一词感到困惑。换句话说,当我可以使用GET,POST,PUT或DELETE时,如何将API密钥作为"参数"传递给他们的API?我的理解是,只有HTTP GET才能处理查询字符串参数,而HTTP POST只能处理POST变量。而且我之前从未使用过PUT或DELETE,所以我不确定它们需要什么。

所以我问:我可以使用哪种机制通过所有4种类型的请求方法发送API密钥/签名,或者它们都支持查询字符串参数的处理?提前致谢。

也许这就是您想要的[HTTP测试工具,轻松发送POST / GET / PUT]:stackoverflow.com/questions/1087185/

谢谢@ MrSmith42,但是不,那不是我要寻找的。 我真正要问的是不同的请求方法(GET,POST,PUT,DELETE等)如何不同地处理"参数"。 例如,可能我必须为任何GET请求附加API密钥作为查询字符串参数,并为任何POST请求附加与POST变量相同的密钥,等等。或者可能它们都可以处理查询 字符串参数。 或者是其他东西。

你可以试试看 它适用于带有POST请求的HttpClient应用程序。

DefaultHttpClient httpClient = new DefaultHttpClient();

httpClient.getParams().setParameter(name, value);

......

例如,我设置连接超时:

httpClient.getParams().setIntParameter(HttpConnectionParams.CONNECTION_TIMEOUT, httpTimeout);

然后,稍后发送(执行)请求:

HttpResponse response = httpClient.execute([My HttpPost instance was here, but I think you can use HttpGet, HttpPut, and HttpDelete here as well]);

所有动词都可以使用请求参数(也称为查询参数),无论您是否也发送正文,它们都将以相同的方式对服务器可用。

在您的示例(Gengo)中,该页面上有一个很好的有关身份验证的示例。

感谢@Andreas Wederbrand(+1)-但是您的回答仍然让我感到困惑! 听起来您好像暗示我应该能够将api_key附加为查询字符串参数(示例:http:api.gengo.comv2accountstats?api_key=whatever),但是在您提供的链接中,PHP示例正在将api_key附加为POST变量。 这是我问题的根源! 四种方法都使用哪一种? 还是它们都以不同的方式处理"参数",如果是,该如何处理? 再次感谢!

换句话说,我可以对每个API调用都使用http:api.gengo.comv2accountstats?api_key=whatever(无论是Im GETTING,POST,PUTTING还是DELETEing),还是像您链接中的示例一样,是否必须对每个API使用不同的方法? 4种方法?

对。 所有动词都允许使用参数,但我不知道ff Gengo在执行POST和PUT时允许使用参数。 您所能做的就是尝试或寻求Gengo支持。 我猜想即使在POST和PUT上将其设置为?api_key = 也可以。 不要忘记还添加ts =和api_sig =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值