我使用https://github.com/AsyncHttpClient/async-http-client时,我的计算器签名方法是:
client.preparePost(host + uri + query)
.addFormParam("photo_id", "123456")
.addFormParam("user_id", "7890")
.addFormParam("token", "helloworld")
.addFormParam("os", 'ios')
.setSignatureCalculator(sign) // inject calculator class
.execute(new AsyncCompletionHandler<Response>() {
@Override
public Response onCompleted(Response response) {
Assert.assertEquals(response.getStatusCode(), 200);
return response;
}
})
.toCompletableFuture()
.join()在代码上面,我们知道之前的每个请求都会计算符号。
但是,当使用空手道时,我应该怎么做?谢谢!
由于每个请求都需要根据查询参数和表单数据来计算签名,所以我希望计算可以在基类/方法上执行。
发布于 2018-09-06 20:26:06
我不熟悉async-http-client,但我很确定这只是OAuth身份验证。所以只需要参考这个例子:oauth2.feature
因此,上面的示例是通过向服务器发出OAuth请求来获取HTTP令牌。
但是如果你只有密钥和秘密(Java1?)-那么你必须使用OAuth来完成计算签名的步骤,而这目前还没有内置到空手道中。看起来我们必须编写类似这样的代码:OAuthSignatureCalculatorInstance.java
你可能已经知道空手道对Java的重用有很好的支持。
到目前为止还没有人请求它,所以我假设HTTP客户端总是可以发出额外的请求来获取Authorization头,所以你不需要计算它。
https://stackoverflow.com/questions/52202102
复制相似问题