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

HTTP发送文件 工具类

 
阅读更多

package com.joyveb.state.utils;

import java.io.File;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.FileEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * HTTP CLIENT 工具类
 *
 * @author machijie
 *
 */
public class HTTPClientUtil {

    private static Logger log = LoggerFactory.getLogger(HTTPClientUtil.class);

    /**
     * 上传文件
     *
     * @param url
     *            http地址
     * @param fileName
     *            文件路径名称
     * @throws Exception
     */
    public static void postFile(String url, String fileName) throws Exception {
        log.info("Ready Post File:[{}] Url:[{}]", fileName, url);
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(url);
        File file = new File(fileName);
        if (file.exists() == false) {
            throw new Exception("File:[" + fileName + "]存在");
        }
        FileEntity fileEntity = new FileEntity(new File(fileName), "UTF-8");
        httppost.addHeader("Content-Type", "text/xml");
        httppost.setEntity(fileEntity);
        try {
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();
            log.info("Post File:[{}] Url:[{}] Return StatusCode:[{}]",
                    new String[] { fileName, url,
                            response.getStatusLine().toString() });
            if (entity != null) {
                log.info("Response content length: "
                        + entity.getContentLength());
            }
            EntityUtils.consume(entity);
        } catch (Exception e) {
            log.error("Post File:[" + fileName + "] Url:[" + url + "]", e);
        } finally {
            httpclient.getConnectionManager().shutdown();
        }
    }

    public static void main(String[] args) throws Exception {
        HTTPClientUtil
                .postFile(
                        "http://192.168.3.205:8080/genlotmediator/tjaccepter?gameid=4&periodnum=123456",
                        "d:/test1.txt");
    }

}

分享到:
评论

相关推荐

    socket实现上传文件工具类

    本篇文章将详细探讨如何利用Socket实现一个强大的文件上传工具类,以及涉及到的相关知识点。 一、Socket基础知识 Socket,也被称为套接字,是网络通信中的一个抽象概念,它代表了两台机器间通信的一个端点。在Java...

    HttpUtils 发送http请求工具类(实例讲解)

    HttpUtils 发送 HTTP 请求工具类详解 HTTP 请求工具类是 Java 语言中一个常用的工具类,用于发送 HTTP 请求并处理响应结果。本文将对 HttpUtils 发送 HTTP 请求工具类进行详细的讲解,包括其实现原理、关键代码分析...

    java文件上传下载工具类

    Java工具类可以提供一个方法,接收文件路径和HTTP响应对象,设置响应头,如Content-Type和Content-Disposition,然后读取文件内容并写入响应流。例如: ```java public void serveFile(HttpServletResponse ...

    HttpClientUtil工具类发送get和post请求,支持http和https,支持发送文件

    综上所述,HttpClientUtil工具类在IT应用中扮演着关键角色,简化了HTTP和HTTPS请求的实现,特别是发送文件这样的复杂操作。通过封装HttpClient的核心功能,开发者可以更加专注于业务逻辑,而不必关心底层网络通信的...

    C#工具类库类库 包含所有的常用工具类

    这些工具类涵盖了从文件操作到网络通信的多个领域。 首先,FTP操作类是用于与FTP服务器进行交互的组件。它可能包含连接、上传、下载文件以及目录管理等方法。例如,`FtpClient`类可以用来建立FTP连接,`UploadFile`...

    C++工具类-常用工具类源码

    本文将深入探讨标题"**C++工具类-常用工具类源码**"所涵盖的知识点,主要围绕文件处理、编码处理、字符串处理、网络爬虫以及网页数据抓取等主题。 首先,让我们来看看文件处理方面。`FileUtil`类通常包含对文件的...

    http get post 请求接口工具类

    综上所述,"http get post 请求接口工具类"涉及到的核心概念包括HTTP请求方式的运用,接口调用的封装,以及数据安全的保障措施,如参数加密、RSA签名来确保数据安全,以及字符集转换和Base64编码来处理文本和二进制...

    http请求提交类工具类

    这个"HTTP请求提交类工具类"就是用于封装这些请求过程,简化开发者的代码编写。 1. GET与POST请求:GET请求通常用于获取资源,其参数显示在URL中;POST请求则常用于提交数据,数据隐藏在请求体中。在工具类中,通常...

    淘淘商城07-工具类

    "淘淘商城07-工具类"这个压缩包文件很可能包含了用于电商项目的一系列Java工具类,如Cookie管理、FTP文件传输、HTTP客户端请求以及JSON数据处理等。 1. **Cookie管理**: Cookie是Web应用中用来存储用户状态的一种...

    android工具类 26个实用工具类

    1. **网络请求工具类**:可能包含一个POST方法,用于向服务器发送HTTP POST请求,通常会封装URL编码、参数设置、请求头管理等功能。例如,`PostUtil`类可以简化网络请求的编写,避免重复的代码。 2. **字符串处理...

    Java实现的Https请求工具类

    在Java编程中,HTTPS(Hypertext Transfer Protocol Secure)是一种基于HTTP协议的安全通信协议,用于在客户端和服务器之间建立...在实际项目中,这样的工具类能够提高代码的可复用性和维护性,降低网络请求的复杂度。

    常用Java工具类

    3. **文件上传工具类**:文件上传是Web应用中的常见功能,Java提供了Servlet API来处理文件上传请求。Apache的Commons FileUpload库提供了一套方便的工具类,可以解析多部分请求,将文件保存到服务器。这类工具类...

    C# Util 实用工具类

    File工具类可能包含了读写文件、目录操作、文件搜索等功能,简化了文件系统交互的过程。 8. **Win.Util**: 由于提到了"Win.Util",我们可以推测这可能是针对Windows平台的特定工具类,可能包含了一些与Windows API...

    http请求工具类

    在IT行业中,HTTP请求工具类是开发者们进行系统间数据交互的重要工具,它使得我们可以方便地发送各种HTTP请求,如GET、POST等,确保了不同系统间的通信稳定性和效率。"http请求工具类"通常是一个封装了HTTP客户端...

    工具类项目,开发经常用到的一些工具类

    8. **网络通信**:网络工具类可能包含URL编码解码、HTTP请求发送等功能,为网络编程提供便利。 9. **异常处理**:提供统一的异常处理方法,如`ExceptionUtils.printStackTrace()`,可以在捕获异常时打印堆栈跟踪,...

    javascript后台调用的工具类

    这个工具类主要聚焦于JavaScript的核心功能和常见的后台操作,可能包括数据处理、文件操作、网络请求等多个方面。JavaScript(JS)是一种广泛应用于客户端和服务器端的脚本语言,尤其在Web开发中占据着重要地位。其...

    angular http请求工具类

    这个"angular http请求工具类"很可能是开发人员为了简化HTTP请求操作而创建的一个自定义服务。通常,这样的工具类会封装Angular内置的HttpClient模块,提供更方便、更易用的API接口。下面我们将详细探讨Angular中的...

    Java-Android工具类

    SD工具类通常包含读写文件、检查SD卡是否可用、创建目录、移动或复制文件等方法。例如,`saveFileToSDCard()`方法用于将数据保存到SD卡,而`readFileFromSDCard()`则用于从SD卡读取文件。这些方法简化了文件操作,...

    http连接jar和工具类

    本资源包“http连接jar和工具类”显然包含了用于处理HTTP连接的相关库和自定义工具类,这对于开发涉及网络通信的Java应用程序至关重要。在Java中,我们可以使用多种方式实现HTTP连接,包括但不限于内置的`java.net`...

    java个人开发工具类

    HttpClientUtil工具类通常会封装创建HttpClient实例、发送GET/POST请求、处理响应、设置请求头和参数等常见操作,使得HTTP通信变得更加简单和便捷。开发者可以通过调用HttpClientUtil的方法,轻松地完成网络请求任务...

Global site tag (gtag.js) - Google Analytics