java - 向 Web 服务发出 POST 请求

标签 java web-services

我正在尝试向网络服务发出发布请求,因为它只接受发布请求。我的代码为

try {
        URL url = new URL(createBookUrl + "?bookInfo=" + jsonStr);
        BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
        String inputLine = in.readLine();
        in.close();
        BookCreateResponse bookCreateResponse = new BookCreateResponse ();
        ObjectMapper mapper = new ObjectMapper();
        bookCreateResponse = mapper.readValue(inputLine, new TypeReference<BookCreateResponse>(){});
        System.out.println(bookCreateResponse );
    } catch (Exception ex) {
        log.error(ex.getMessage());
    }

现在我收到错误

Server returned HTTP response code: 405 for URL: .....

最佳答案

你可以尝试这样:

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;

    private HttpClient client;
    private HttpPost requestPost;

    client = HttpClientBuilder.create().build();


    requestPost = new HttpPost(url+params);
    HttpResponse response = client.execute(requestPost);
    HttpEntity entiry = response.getEntity();
    responseString = EntityUtils.toString(entiry, "UTF-8");

关于java - 向 Web 服务发出 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26766240/

相关文章:

java - jdbc中如何通过id进行搜索

web-services - Swagger 可以用于 SOAP 吗?

java - 可以将我的本地主机网络服务与模拟器连接,但不能与我的手机连接

Java 将 <object> 列表转换到它的接口(interface)

java - 如何打印logback的配置信息?

java - 为什么我不能调用这个简单的 Web 服务?

java - 在 JUnit 测试用例中使用不同的数据子集测试不同的方法

javascript - 如何在 Jasmine 中调用 Web 服务?

php - 将数组传递给 web 服务 php nusoap

android - 如何将值传递给 Android 应用程序中的 Soap 服务(ASMX 服务)中的标志枚举参数