2

我正在使用 OAuth-Signpost 1.2 来验证对 Magento RESTful 应用程序的请求。

GET 请求很容易使用 HttpURLConnection 来实现,但据我所知,对于 POST 请求,我还必须使用像 Apache HttpComponents HttpClient 这样的库。但是,我无法找出正确的方法。

我目前的代码如下:

public static void try2(OAuthConsumer consumer , String API_URL, String postInput) throws Exception{
    DefaultHttpClient httpClient = new DefaultHttpClient();
    HttpPost postRequest = new HttpPost(API_URL);

    try {
        StringEntity input = new StringEntity(postInput);
        input.setContentType("application/json");
        postRequest.setEntity(input);
        consumer.sign(postRequest);

        HttpResponse response = httpClient.execute(postRequest);

        if (response.getStatusLine().getStatusCode() != 201) {
            System.out.println("Failure. Code: " + response.getStatusLine().getStatusCode());
        }

    } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

但我得到的只是一个错误 500。

以更一般的方式,我的问题是:如何使用 signpost 对 RESTful 应用程序的 POST 请求进行签名?

4

0 回答 0