集册 Java实例教程 使用无缓冲块

使用无缓冲块

欢马劈雪     最近更新时间:2020-01-02 10:19:05

338
使用未缓冲的大块编码的POST请求apache http客户端

/*

 * --------------------------------------------------------------------

 * Licensed to the Apache Software Foundation (ASF) under one

 * or more contributor license agreements.  See the NOTICE file

 * distributed with this work for additional information

 * regarding copyright ownership.  The ASF licenses this file

 * to you under the Apache License, Version 2.0 (the

 * "License"); you may not use this file except in compliance

 * with the License.  You may obtain a copy of the License at

 *

 *   http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing,

 * software distributed under the License is distributed on an

 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

 * KIND, either express or implied.  See the License for the

 * specific language governing permissions and limitations

 * under the License.

 * --------------------------------------------------------------------

 *

 * This software consists of voluntary contributions made by many

 * individuals on behalf of the Apache Software Foundation.  For more

 * information on the Apache Software Foundation, please see

 * <http://www.apache.org/>.

 *

 */

package org.apache.http.examples.client;
/* 来自 nowjava - 时  代  Java*/

import java.io.File;

import java.io.FileInputStream;


import org.apache.http.client.methods.CloseableHttpResponse;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.entity.ContentType;

import org.apache.http.entity.InputStreamEntity;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.util.EntityUtils;


/**

 * Example how to use unbuffered chunk-encoded POST request.

 */

public class ClientChunkEncodedPost {


    public static void main(String[] args) throws Exception {
    /*
     from 时代Java - nowjava.com 
    */

        if (args.length != 1) {

            System.out.println("File path not given");

            System.exit(1);

        }

        CloseableHttpClient httpclient = HttpClients.createDefault();

        try {

            HttpPost httppost = new HttpPost("http://localhost/");


            File file = new File(args[0]);


            InputStreamEntity reqEntity = new InputStreamEntity(

                    new FileInputStream(file), -1,

                    ContentType.APPLICATION_OCTET_STREAM);

            reqEntity.setChunked(true);

            // It may be more appropriate to use FileEntity class in this particular

            // instance but we are using a more generic InputStreamEntity to demonstrate

            // the capability to stream out data from any arbitrary source

            //

            // FileEntity entity = new FileEntity(file, "binary/octet-stream");


            httppost.setEntity(reqEntity);


            System.out.println(
展开阅读全文