我正在尝试向网络服务发出发布请求,因为它只接受发布请求。我的代码为
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/