`
福将1032
  • 浏览: 44795 次
文章分类
社区版块
存档分类
最新评论

远程httpclient 请求

 
阅读更多

工具类 HttpClientUtil

 

public class HttpClientUtil {
  
    public static String sendRequest(URL url) throws IOException {
        String result = "";
        try {
            PostMethod method = new PostMethod(url.toString());
            method.addRequestHeader("Cache-Control",
                    RequestConstants.REQUEST_CACHE_CONTROL);
            method.addRequestHeader("SOAPAction",
                    RequestConstants.REQUEST_SOAP_ACTION);
            method.addRequestHeader("Cookie", RequestConstants.REQUEST_COOKIE);
            method.addRequestHeader("Host", url.getHost());
            method.addRequestHeader("Accept", RequestConstants.REQUEST_ACCEPT);
            method.setRequestEntity(null);
            HttpClient httpClient = new HttpClient();
            int status = httpClient.executeMethod(method);

            if (method.getResponseContentLength() < 0) {
                ByteArrayOutputStream bout = new ByteArrayOutputStream();
                byte[] data = new byte[8192];
                int rsize = 0;
                int totalrsize = 0;
                InputStream in = method.getResponseBodyAsStream();
                do {
                    rsize = in.read(data);
                    if (rsize > 0) {
                        totalrsize += rsize;
                        bout.write(data, 0, rsize);
                    }
                } while (rsize > 0);
                result = new String(bout.toByteArray());
            } else {
                byte data[] = method.getResponseBody();
                result = new String(data, "utf-8");
            }
            if (status != 200) {
                log.info("请求错误:[url:" + url.toString() + ",responseCode:"
                        + status + "]");
                return null;
            }
        } catch (Exception e) {
            log.info("http请求异常!");
        }
        return result;
    }

 

public interface RequestConstants {
 
    public static final String REQUEST_CACHE_CONTROL = "no-cache";
  
    public static final String REQUEST_SOAP_ACTION = "\"\"";
 
    public static final String REQUEST_COOKIE = "JSESSIONID=A09JHGHKHU68624309UTY84932;";
 
    public static final String REQUEST_ACCEPT = "application/soap+xml, application/dime, multipart/related, text/*";
   
}

 

action 类

    public String listTicketsByCondition() throws IOException {
        String url = "http://192.168.3.205:8080/GenLotWBOS/queryTickInf.action";
        String messageid = this.getRequest().getParameter("messageid");
        String cpserial = this.getRequest().getParameter("cpserial");
        String tacketid = this.getRequest().getParameter("tacketid");
        PostHelper p = new PostHelper(url);
        if(StringUtils.hasLength(messageid)){
            p.addParameter("messageid", messageid);
        }
        if(StringUtils.hasLength(cpserial)){
            p.addParameter("cpserial", cpserial);
        }
        if(StringUtils.hasLength(tacketid)){
            p.addParameter("orderno", tacketid);
        }
        String jsonMsg = p.post(url);
    
   
        this.getResponse().setCharacterEncoding("UTF-8");
        this.getResponse().getWriter().write(jsonMsg);
        this.getResponse().getWriter().flush();

        return null;
    }

 

 

分享到:
评论

相关推荐

    httpclient发送post请求

    通过理解上述步骤和项目结构,你可以有效地构建和发送POST请求,与远程服务器进行交互。对于"post-demo"项目,你可以通过调试客户端应用,检查发送的数据是否正确,以及服务端接口是否正确处理了这些请求,以确保...

    httpClient 调用远程接口 获取数据到本地文件夹

    保持良好的代码结构,例如使用Builder模式来构建复杂的HttpClient请求,工厂模式来创建解析器,以及单例模式来管理HttpClient实例。遵循SOLID原则,确保代码的可维护性和扩展性。 通过上述步骤,我们可以构建一个...

    httpclient 跨域请求

    现在,我们将深入探讨如何使用`httpclient`进行跨域请求,并结合`fastjson`处理数据。 首先,理解跨域请求的概念至关重要。由于同源策略的限制,JavaScript通常只能访问与当前页面相同协议、域名和端口的资源。若要...

    httpClient调用webservice接口

    此外,HttpClient还具有很高的灵活性和可扩展性,能够满足各种复杂的网络请求需求。 #### 三、调用WebService的基本步骤 1. **构建SOAP消息**:WebService通常使用SOAP协议进行通信。因此,首先需要构造一个符合...

    httpclient方式调用url

    HttpClient适用于单次请求,但如果需要进行大量的并发请求,可能需要考虑使用更高级的异步模型,如Apache HttpClient的AsyncClient。 总之,HttpClient是Java开发中处理HTTP请求的强大工具,它提供了一套完整的API...

    http远程接口调用-httpClient+跳过SSL证书校验

    在远程接口调用中,HttpClient允许我们构建自定义的请求并获取响应,非常适用于API测试和集成。 首先,我们需要添加HttpClient依赖到我们的项目中。如果是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml ...

    httpClient调用远程接口获取数据到本地文件夹

    在这个例子中,我们使用HttpClient来调用远程接口,从电信公司的网站获取可用手机号码的数据,并将其存储到本地文件系统。以下是对这个过程的详细解释: 1. **HttpClient的引入与配置**: 首先,我们需要在项目中...

    Spring 实现远程访问详解——httpclient

    本章将通过apache httpclient实现远程访问。说得简单就是直接通过spring requestmapping即请求映射url访问远程服务。 1. 远程访问流程 1) 服务器在控制器定义远程访问请求映射路径 2) 客户端通过apache httpclient的...

    org.apache.commons.httpclient 远程下载文件

    Apache Commons HttpClient 是一个Java库,专门用于执行HTTP和HTTPS请求,包括远程文件的下载。这个库为开发者提供了高级HTTP客户端功能,比如支持多种HTTP方法(GET、POST等)、处理Cookies、管理连接池以及进行...

    Arduino HttpClient 库文件

    在实际项目中,HttpClient 库常用于 IoT(物联网)场景,如远程控制、数据采集或设备状态报告等。结合 Arduino 的传感器和其他硬件,你可以构建各种智能系统,如智能家居、环境监测等。理解并熟练使用 HttpClient 库...

    httpclient

    HttpClient是Apache基金会开发的一个Java库,用于执行HTTP请求。它为构建复杂的、高性能的客户端应用程序...在实际项目中,理解并熟练使用HttpClient的各种特性,能够帮助我们更高效、更安全地与远程HTTP服务进行交互。

    Http(get)请求数据Android Studio使用HttpClient

    本教程将聚焦于使用`HttpClient`库进行GET请求,这是获取远程资源最常见的方式。请注意,本教程不涉及POST请求,POST主要用于向服务器提交数据。 ## 1. Android HttpClient介绍 `HttpClient`是Apache HTTP组件的一...

    php中http请求封装HttpClient精华中的经典代码

    在PHP开发中,HTTP请求的处理是至关重要的,特别是在与远程服务器进行数据交互时。HttpClient是一种常见的工具,用于封装HTTP请求,使得开发者可以方便地发送GET、POST等不同类型的请求。下面我们将深入探讨PHP中...

    httpClient

    4. **执行请求**:通过HttpClient的execute方法发送请求,得到CloseableHttpResponse对象。 5. **处理响应**:检查状态码,获取响应实体。如果是文件下载,可以使用InputStream和OutputStream将响应内容写入本地...

    ESP8266HTTPClient.zip

    请求完成后,记得释放HTTPClient资源,防止内存泄漏: ```cpp http.end(); ``` 9. **应用示例**: ESP8266HTTPClient常用于物联网项目,如通过HTTP API控制智能家居设备、从云服务器获取配置信息、或者将...

    httpclient远程网页抓取工具

    此外,HTTPClient库还支持异步请求,通过使用`Future&lt;HttpResponse&gt;`对象,可以在执行请求后立即继续执行其他代码,而无需等待响应返回。这对于需要处理大量并发请求的场景特别有用。 总之,HTTPClient是一个强大且...

    commons-httpclient相关jar包

    HttpClient提供了丰富的API,可以定制请求头、设置请求体、处理响应等。同时,它也支持多线程和池化的HTTP连接,以优化性能和资源利用。 然而,需要注意的是,虽然HttpClient 3.x系列是一个成熟且广泛使用的库,但...

    httpClient帮助文档

    - **下载文件**:通过HttpClient下载远程文件,处理进度和断点续传。 通过HttpClient API帮助文档,开发者可以深入了解HttpClient的使用细节,提高HTTP请求处理的效率和可靠性。无论是进行Web服务调用,还是构建...

    httpClient包.rar

    2. **连接管理**:HttpClient允许开发者精细控制连接池,包括设置最大连接数、超时时间等,这对于处理大量并发请求非常有用。 3. **重试和恢复策略**:HttpClient提供了自动重试机制,当遇到网络临时问题时,它可以...

Global site tag (gtag.js) - Google Analytics