以httpClient通过代理上传文件

来源:互联网 发布:游戏3d美工招聘 编辑:程序博客网 时间:2024/06/06 06:53
public void proxyUploadFile() throws IOException {    CloseableHttpClient httpclient = HttpClients.createDefault();    try {        HttpHost target = new HttpHost("192.168.71.128", 8080); //目的服务器地址        HttpHost proxy = new HttpHost("172.16.44.22", 9901, "http"); //代理服务器地址        RequestConfig config = RequestConfig.custom().setProxy(proxy).build();        HttpPost request = new HttpPost("/upload/file/"); //目的服务器上传文件接口        request.setConfig(config);        //add file        File file = new File("/home/mydoc.docx");        HttpEntity data = MultipartEntityBuilder.create().setMode(HttpMultipartMode.BROWSER_COMPATIBLE).addPart("file", new FileBody(file)).build();        request.setEntity(data);        getLogger().info("Executing request " + request.getRequestLine() + " to " + target + " via " + proxy);        CloseableHttpResponse response = httpclient.execute(target, request);        try {            getLogger().info("----------------------------------------");            getLogger().info(response.getStatusLine());            getLogger().info(EntityUtils.toString(response.getEntity())); //调用上传文件接口返回结果        } finally {            IOUtils.closeQuietly(response);        }    } finally {        IOUtils.closeQuietly(httpclient);    }    return;}