1

java クライアントを安らかなサービスに書き込もうとしています。認証に問題はありませんが、 --data パラメータを追加する方法がわかりません。

カールコマンドは次のとおりです。

curl -i -L --user user:password -X PUT -H "Content-Type: application/json" 
--data '{"translation": {"0": "zero"}}' 
http://www.transifex.com/api/2/project/p1/resource/testspot/translation/ar/string/fbb05a9f1ad844fcd1740ce9bf8f2574/

そのcurlステートメントのJavaクライアントを作成するにはどうすればよいですか。複数の解決策の提案を試みましたが、役に立ちませんでした。

これは私のJavaコードです:

public static JsonElement httpPut(String username, String password, String url, String putText) throws UnauthorizedAccessException, Exception {

    JsonElement jelement = null;
    try {

        String basicAuth = Base64.encodeBase64String(("gccster" + ":" + "test").getBytes());
        HttpClient client = new DefaultHttpClient();
        HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000);

        HttpPut httpPut = new HttpPut("https://www.transifex.com/api/2/project/demoproject1/resource/test/translation/el/string/bff3b5b0513a5e4821f649ffcca93069/");
        httpPut.setHeader("Authorization", "Basic " + basicAuth);
        httpPut.addHeader("Accept", "application/json");
        httpPut.addHeader("Content-Type", "application/json");

        //StringEntity putEntity = new StringEntity(putText, "UTF-8");
        //putEntity.setContentType("application/json");
        //httpPut.setEntity(putEntity);
        HttpResponse transifexResponse = client.execute(httpPut);

        StatusLine statusLine = transifexResponse.getStatusLine();
        int statusCode = statusLine.getStatusCode();
        //if (statusCode == 200) {
        HttpEntity entity = transifexResponse.getEntity();
        InputStream content = entity.getContent();

        String responseText = readInputStream(content);

        if (responseText.equals("Authorization Required")) {
            throw new UnauthorizedAccessException("Anauthorized Exception");
        } else {
            jelement = new JsonParser().parse(responseText.toString());
        }
        //}
    } catch (UnauthorizedAccessException ex) {
        throw ex;
    } catch (Exception ex) {
        throw ex;
    }

    return jelement;

}
4

0 に答える 0