java用 httpclient请求一般的mvc接口:这种不存在跨域问题,没有webservrice复杂
ajxa也可以调用mvc类型接口只不过有跨域问题,可以用拦截器处理:
工具类:
package com.itm.weixin.common;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class HttpClient {
private static final Log logger = LogFactory.getLog(HttpClient.class);
public static String sendGet(String url, String param) throws Exception {
String result = "";
HttpURLConnection httpConn = null;
BufferedReader in = null;
try {
String urlNameString = url + "?" + param;
URL realUrl = new URL(urlNameString);
// 打开和URL之间的连接
httpConn = (HttpURLConnection) realUrl.openConnection();
// 设置通用的请求属性
//httpConn.setRequestProperty("accept", "*/*");
httpConn.setRequestProperty("Accept", "application/json");
httpConn.setRequestProperty("Accept-Charset", "UTF-8");
httpConn.setConnectTimeout(5000);
httpConn.setReadTimeout(5000);
httpConn.setDoOutput(true);
// 建立实际的连接
httpConn.connect();
int responseCode = httpConn.getResponseCode();
if (responseCode != 200) {
logger.error("Http request Error,responseCode=" + responseCode +", requestUrl:" + url +",requestParamsJson=" + param);
throw new Exception("Http request Error,responseCode=" + responseCode + ", requestUrl:" + url + ",requestParamsJson=" + param);
} else {
logger.info("get Success!" + "requestUrl:" + url + ", requestParamsJson:" + param);
}
// 定义 BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(httpConn.getInputStream(),"UTF-8"));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
throw e;
} finally {
httpConn.disconnect();
try {
if (in != null) {
in.close();
}
} catch (Exception e1) {
throw e1;
}
}
return result;
}
}
应用:
reqUrl = ConfigInfo.getPropertiesValue("betweenAllowedRangeUrl");
WeixinApplyInfo weixinApplyInfo = (WeixinApplyInfo) baseService.findObject(WeixinApplyInfo.class, "orderNo", orderNoReq);
reqParam = "productType=" + saleFollowEntity.getProductCode() +"&amount=" + weixinApplyInfo.getApplyAmount();
resultJson = HttpClient.sendGet(reqUrl, reqParam);
JSONObject applyAmountJsonObject = JSONObject.fromObject(resultJson);
相关推荐
总之,创建一个Java Web接口中转服务是一项技术性很强的任务,涉及到Spring MVC的使用、HTTP请求的发送以及日志记录等多个方面。理解并掌握这些知识点,对于提升开发效率和项目质量至关重要。在实际操作中,还需要...
综上所述,Spring MVC结合HttpClient提供了一种有效的方式,使我们在Java Web应用中能够轻松地调用外部服务。通过合理的配置和编程,我们可以构建稳定、高效的远程服务调用系统。在实际开发中,还应根据具体需求进行...
在IT行业中,HTTPClient是一个广泛使用的Java库,用于执行HTTP请求。这个库为开发者提供了强大的功能,能够构建复杂的网络交互,比如GET、POST、PUT、DELETE等HTTP方法的调用。这里我们关注的是HTTPClient 4.5版本,...
首先,HTTPClient是Apache提供的一款强大的Java HTTP客户端API,它允许开发者发送HTTP请求并接收响应,支持各种HTTP方法,如GET、POST等。在本场景中,我们关注的是POST方法,它是HTTP协议中用于传输大量数据的一种...
- **调用接口**:使用HttpURLConnection或第三方库发送请求,处理响应数据,Java的JSON库如Jackson或Gson用于数据转换。 - **代码示例**:展示Java代码,演示如何进行入库操作,包括创建请求、设置参数和解析返回...
**Java实现** 在Java中,我们可以利用`java.net.HttpURLConnection`或`org.apache.http.client.HttpClient`库来发送带有认证信息的HTTP请求。而在服务端,可以使用Servlet或者Spring MVC等框架来处理这些认证请求。 ...
5. **执行请求**:使用HttpClient对象的execute方法发送请求。 ```java HttpResponse response = httpClient.execute(httpGet); Future<HttpResponse> futureResponse = httpClient.execute(httpPost, new ...
2. **HttpClient**:在Java中,Apache HttpClient库是一个常用的HTTP客户端工具,用于发起HTTP请求。SSM框架中,可以通过HttpClient来调用外部接口。例如,创建一个`HttpClient`实例,设置请求头,构造`HttpGet`或`...
2. **HTTP请求和响应**:imo接口通常是基于HTTP协议的RESTful API,Java中可以使用HttpURLConnection、HttpClient或第三方库如OkHttp、Apache HttpClient来发送GET、POST等HTTP请求,并处理响应数据。 3. **JSON...
`MultipartFile`接口用于处理上传的文件,控制器(Controller)接收到请求后,可以使用`@RequestParam`注解获取上传的文件,然后进行后续处理。 3. **Spring3的多文件上传支持**: 在Spring MVC中,可以通过`@...
本示例将围绕一个基于Spring框架实现的JSON接口,结合HTTPClient库进行网络通信,并利用DES(Data Encryption Standard)加密解密技术确保数据安全。 首先,我们来看JSON接口的实现。Spring框架提供了丰富的支持来...
在接口测试中,我们可以利用HTTPClient模拟不同的HTTP请求类型,如GET、POST、PUT、DELETE等,来测试Spring MVC接口的功能和性能。通过封装HTTPClient,开发者可以创建更高级别的API,简化测试代码,提高测试效率。 ...
3. Java实例:使用HTTP客户端库,如HttpURLConnection或Apache HttpClient,进行API请求,处理JSON响应数据,实现后端服务的集成。 4. PHP实例:利用cURL库或者Guzzle HTTP Client发送HTTP请求,解析返回的JSON数据...
2. **HttpClient**:用于发起HTTP请求,调用支付接口。 3. **异步编程**:利用async/await关键字优化支付请求的性能。 4. **中间件处理**:可能使用.NET Core的中间件来处理支付回调。 5. **依赖注入**:将通联支付...
2. **HTTP和WebSocket API**: Java提供了HttpURLConnection和HttpClient等API来处理HTTP请求,这些接口在前后端交互时用于获取或发送数据。WebSocket API(如Java WebSocket API)则支持双向通信,实现低延迟、实时...
- Java提供了Thread类和Runnable接口来实现多线程,以及并发工具类如Semaphore、ExecutorService等,用于优化网络服务的性能和响应速度。 9. **RESTful API设计**: - 使用Java的Jersey或Spring MVC可以创建符合...
在Java中,我们可以使用Spring框架的Spring MVC模块来轻松实现RESTful接口。Spring MVC提供了一套完善的机制来创建RESTful服务,包括使用`@RestController`注解定义控制器类,`@RequestMapping`注解用于映射URL,...
Java提供了ExecutorService和Future接口,可以实现任务的并发执行,使得在等待网络响应的同时,可以执行其他操作。此外,WebSocket协议用于实时通信,如推送新微博通知,Java的WebSocket API可以帮助开发者实现实时...
在Java中,我们可以使用`java.net.HttpURLConnection`或者第三方库如Apache HttpClient、OkHttp来发送HTTP请求。通过设置超时、读取响应时间等方法,我们可以精确测量服务器的响应时间。此外,Java的`java.time`包...