@Test
public void testHttpClient3() throws Exception {
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
CloseableHttpClient closeableHttpClient = httpClientBuilder.build();
ClassLoader classLoader = getClass().getClassLoader();
File jsonTemplateFile = new File(classLoader.getResource(
"dailyNotifyTemplate.json").getFile());
System.out.println("jsonTemplateFile:" + jsonTemplateFile.getAbsolutePath());
String JSON_STRING = FileUtils.readFileToString(jsonTemplateFile);
String userOpenId = "oz1rJs-TVjVxCJVjMKgdqO_pFtxx";
JSON_STRING = JSON_STRING.replace("REPLACE_TO_USER", userOpenId);
System.out.println(JSON_STRING);
StringEntity requestEntity = new StringEntity(JSON_STRING,
ContentType.APPLICATION_JSON);
String token = "sOm0jUot4hFrjdT1UJNQhufJEKTJQtFqbGqtup16S_s1-SFkNJWk0WhnBcd5fRlvha59QLYg3DXDgRDpYEMAbfp5WLyZj1GwzvQrPjeiWMQ";
String uri = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="
+ token;
HttpPost method = new HttpPost(uri);
method.setEntity(requestEntity);
HttpResponse result = closeableHttpClient.execute(method);
String resData = EntityUtils.toString(result.getEntity());
JSONObject json = (JSONObject) new JSONParser().parse(resData);
System.out.println("errcode:" + json.get("errcode"));
System.out.println("errmsg:" + json.get("errmsg"));
System.out.println("msgid:" + json.get("msgid"));
}
分享到:
相关推荐
在使用Apache HttpClient库进行HTTP请求时,可能会遇到`HttpClient`返回`response`为`null`的问题,这通常意味着请求没有成功地完成或者某些资源没有被正确处理。在本篇文章中,我们将深入探讨这个问题的原因和解决...
本文将深入探讨Java中对Request Body(请求体)和Response Body(响应体)进行加解密的源码实现,以确保数据在传输过程中的安全性。 首先,我们需要理解HTTP协议的基本结构。HTTP请求由请求行、请求头、空行和请求...
System.out.println("Response body: " + responseBody); } getMethod.releaseConnection(); } } ``` ##### 2. POST 请求 发起 POST 请求的过程与 GET 请求类似,但需要注意的是 POST 请求通常会携带数据: 1...
String soapRequestBody = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ser=\"http://service.example.com/\"><soapenv:Header/><soapenv:Body><ser:yourMethodName>...
var response = await httpClient.PostAsync("http://yourwebapiurl.com/api/endpoint", content); ``` 6. **处理响应**:发送请求后,你可以从响应中获取数据或检查状态码。如果需要,可以使用`response.Content...
System.out.println("Response Body: " + EntityUtils.toString(response.getEntity())); } finally { // 关闭响应和HttpClient response.close(); httpClient.close(); } } } ``` 在上述代码中,我们首先...
System.out.println("Response body: " + responseBody); } else { System.out.println("Failed with status code: " + statusCode); } method.releaseConnection(); } } ``` 在这个例子中,我们创建了一个...
HttpResponse response = httpclient.execute(httppost); ``` 使用`HttpClient`实例执行`HttpPost`请求。 ##### 5. 处理响应 ```java if (HttpStatus.SC_OK == response.getStatusLine().getStatusCode()) { ...
### WebApi系列-通过HttpClient来调用WebApi接口 #### 一、概述 在现代Web开发中,Web API已经成为一种非常流行的模式,用于提供服务端与客户端之间的数据交互。随着.NET Framework以及.NET Core的发展,微软提供...
System.out.println("Response Body: " + EntityUtils.toString(response.getEntity())); } } } ``` #### 五、高级用法 `Httpclient`提供了许多高级功能,如自定义请求配置、异常处理、连接管理等。以下是一些...
System.out.println("response: " + soapAttachment); if (result == null) { return null; } if (soapAttachment != null && soapAttachment.length() > 0) { // 这里应该添加解析SOAP响应并提取所需结果的...
System.out.println("Response body: " + responseBody); } finally { response.close(); } } finally { httpclient.close(); } } } ``` ##### 3.3 发起POST请求 接下来是使用`HttpClient`发起POST请求的...
OkHttp踩坑随笔为何response.body().string()只能调用一次 OkHttp是一款流行的HTTP客户端库,广泛应用于Android、Java等平台。然而,在使用OkHttp时,开发者容易踩到一些坑。其中一个常见的问题是,response.body()...
public String sendPostRequest(String url, String requestBody) throws IOException { // 发送POST请求并返回响应体 } } ``` 8. **异常处理和资源关闭** 执行HTTP请求时可能出现IOException,因此应妥善...
去获取解析正文 连接并解析响应流。 安装 npm install --save go-fetch-parse-body... .get('https://api.github.com/repos/go-fetch-js/parse-body', {'User-Agent': 'go-fetch'}, function(error, response) { con
在Spring框架中,我们可以将HttpClient进行封装,以便更好地利用其功能并整合到Spring的应用上下文中。下面将详细介绍如何使用Spring与HttpClient结合实现Http和Https请求。 1. **HttpClient介绍** HttpClient是一...
通过httpclient post去获取,response返回码是302,返回的code放在header的Location中。 请求的时候client_id,response_type,redirect_uri,state拼接在url后面,account和password放在body表单(x-...
$users = json_decode($response['body'], true); // 处理用户数据 } else { // 处理错误 } $data = ['name' => 'John Doe']; $headers = ['Content-Type' => 'application/json']; $response = $client->post('...
response.body().string(); ``` 面向对象设计在这些库中体现为类和方法的封装,使得代码更具可读性和可维护性。例如,可以创建一个HttpClient类,封装HTTP请求的创建、执行和响应处理,从而在项目中统一HTTP客户端...