java - 我怎样才能在java中做这样的Post请求?

标签 java curl

我有一个像这样的 Curl 的 Post 请求程序。我怎样才能在java中完成这项工作?

curl -X POST \
-H "api_key: xxxxxxxxxxxxx" \
-H "speed: 0" \
-H "voice: male" \
-H "prosody: 1" \
-H "Cache-Control: no-cache" \
-d 'This is the text to transfer' \
"http://somewhere.com"

最佳答案

Conversion of your code in java

    String url = ""http://somewhere.com";

    HttpClient client = new DefaultHttpClient();
    HttpPost post = new HttpPost(url);

    // add header
    post.setHeader("api_key", "xxxxxxxxxxxxx");
    post.setHeader("speed", "0");
    post.setHeader("voice", "male");
    post.setHeader("prosody", "1");
    post.setHeader("Cache-Control", "no-cache");

    post.setEntity(new StringEntity("This is the text to transfer",ContentType.create("text/plain", "UTF-8")));

    HttpResponse response = client.execute(post);
    System.out.println("\nSending 'POST' request to URL : " + url);
    System.out.println("Post parameters : " + post.getEntity());
    System.out.println("Response Code : " + 
                                response.getStatusLine().getStatusCode());

    BufferedReader rd = new BufferedReader(
                    new InputStreamReader(response.getEntity().getContent()));

    StringBuffer result = new StringBuffer();
    String line = "";
    while ((line = rd.readLine()) != null) {
        result.append(line);
    }

    System.out.println(result.toString());

希望有帮助。

关于java - 我怎样才能在java中做这样的Post请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56032937/

相关文章:

java - intellij 不存在类型变量 R 的实例,因此 Flux<R> 符合 Publisher<?扩展 DataBuffer> 问题

c - 为什么 curl 需要 .lib 和 .dll 才能工作?

java - HttpsServer 使用 curl 导致 100% CPU 负载

linux - 无法安装 WWW::Curl::Easy: SZBALINT/WWW-Curl-4.17.tar.gz : make NO

java - 响应式(Reactive) Java : Insert item in stream based on comparison of two items

java - 无法生成针对 iOS 分类的所有 header 和实现

java - 为什么当我使用 JPA 一对一双向映射时,我无法直接从一个持久化实体

php - 如何使用带有 PHP curl 的 HTTP 基本身份验证发出请求?

curl - CMake 在错误的路径上查找库

Java:将所有参数打印为单个字符串