`
wenxin2009
  • 浏览: 322998 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

HttpClient post和get提交http

    博客分类:
  • java
 
阅读更多

注:以下用的是commons-httpclient-3.1.jar,往后面的版本写法不一样。

post提交示例:

/**
     * Url Post请求
     * @param url url地址
     * @param charset 字符编码
     * @param params 参数
     * @return
     */
    public  String doPost(String url, String charset,NameValuePair[] params) {
        StringBuffer response = new StringBuffer();
        HttpClient client = new HttpClient();
        PostMethod postMethod = new PostMethod(url);
        //表单域的值
//        NameValuePair[] data = {new NameValuePair("name", "test")};
        postMethod.setRequestBody(params);
        //解决中文乱码问题
        postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "utf-8");
        try {
            int statusCode = client.executeMethod(postMethod);
            if (statusCode == HttpStatus.SC_OK) {
                BufferedReader reader = new BufferedReader(new InputStreamReader(
                    postMethod.getResponseBodyAsStream(), charset));
                String line;
                while ((line = reader.readLine()) != null) {
                    response.append(line);
                }
                reader.close();
            }
        } catch (HttpException e) {
            SysLog.sysLogError(e.getMessage());
        } catch (UnsupportedEncodingException e) {
            SysLog.sysLogError(e.getMessage());
        } catch (IOException e) {
            SysLog.sysLogError(e.getMessage());
        }finally {
            postMethod.releaseConnection();
        }
        return response.toString();
    }

 get提交示例:

/**
     * Url Get请求
     * @param url url地址
     * @param charset 字符编码
     * @return
     */
    public  String doGet(String url, String charset) {
        StringBuffer response = new StringBuffer();
        HttpClient client = new HttpClient();
        HttpMethod method = null;
        try {
//            String urlPath = URIUtil.encodePath(url);
//            String urlPath = URIUtil.encodePath(url, "GBK");
            method = new GetMethod(url);
            client.executeMethod(method);
            if (method.getStatusCode() == HttpStatus.SC_OK) {
                BufferedReader reader = new BufferedReader(new InputStreamReader(
                    method.getResponseBodyAsStream(), charset));
                String line;
                while ((line = reader.readLine()) != null) {
                    response.append(line);
                }
                reader.close();
            }
        } catch (URIException e) {
            SysLog.sysLogError("[HTTP GET请求URL字符串编码异常]:: " + e.getMessage());
        } catch (IOException e) {
            SysLog.sysLogError("[HTTP GET请求URL读写异常]:: " + e.getMessage());
        } finally {
            method.releaseConnection();
        }
        return response.toString();
    }

 

注:如果url中有中文参数需要转码,不然会抛异常。

URLEncoder.encode("软件园", "UTF-8")

分享到:
评论

相关推荐

    HttpClient实现POST GET和文件下载

    它提供了丰富的API,使得开发者可以方便地发送HTTP请求(包括POST和GET)并处理响应,同时还支持文件的上传和下载功能。本文将深入探讨HttpClient如何实现这些功能。 ### POST请求 POST请求通常用于向服务器提交...

    httpclient发送get请求和post请求demo

    在Java编程中,Apache HttpClient库是一个非常常用的工具,它提供了对HTTP协议的强大支持,包括GET和POST请求。本文将深入探讨如何使用HttpClient进行GET和POST请求,并提供相关的代码示例。 首先,GET请求是最常见...

    MFC的HttpClient的Get和Post方法

    在Microsoft Foundation Class (MFC)库中,HttpClient是用于实现HTTP通信的重要工具,特别是对于发送GET和POST请求。本文将详细讲解如何在MFC中利用HttpClient进行GET和POST操作。 首先,我们需要理解HTTP协议的...

    java HttpClient 发送GET请求和带有表单参数的POST请求教程例子

    ### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 #### 一、概述 在Java编程中,处理HTTP请求是一项常见的需求,特别是在与Web服务进行交互时。Apache HttpClient库提供了一种强大的方法来执行HTTP...

    httpClient httpPost httpGet 所需jar包

    在Java应用程序中,我们经常使用HttpClient库来执行HTTP请求,包括GET和POST方法,以便与Web服务器进行数据交互。在Java项目中,为了使用HttpClient,我们需要引入相关的jar包。以下是对HttpClient、HttpPost和...

    httpclient post json 数据

    其次,HttpClient是C#中处理HTTP请求的标准库,它提供了发送各种HTTP请求的方法,包括GET、POST、PUT等。对于POST请求,我们通常用来提交数据到服务器,例如创建新的资源或更新已有资源。 要使用HttpClient发送JSON...

    httpclient用法,发送get和post请求,设置header

    httpclient的用法,发送get请求和post请求,设置header

    HttpClient模拟http发送post和get请求

    HttpClient模拟http发送post和get请求

    HttpClient发送http请求(post和get)需要的jar包+内符java代码案例+注解详解

    这个压缩包可能包含了实现HTTP GET和POST请求所需的jar包以及示例代码,帮助开发者理解如何使用HttpClient进行网络通信。下面将详细介绍HttpClient库,HTTP请求的基本概念,以及GET和POST方法的差异。 HttpClient是...

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

    GET请求用于获取服务器上的资源,而POST请求则常用于向服务器提交数据,比如表单数据或上传文件。 1. GET请求:HttpClientUtil中的GET方法通常会创建一个HttpGet对象,设置请求的URL,并通过HttpClient的execute...

    HttpClient (POST GET PUT)请求

    HttpClient实例负责发起网络请求,HttpRequest表示我们想要执行的HTTP操作(如GET、POST或PUT),而HttpResponse则包含了服务器返回的数据和状态信息。 **GET请求** GET请求是最常见的HTTP请求,用于获取资源。在...

    Java后端HttpClient Post提交文件流 及服务端接收文件流

    HttpClient Post提交多文件及多个普通参数,已经封装成工具类。 需传入 要请求的url 普通参数map 例 map.put("param1","张三"); 需要传入的文件流map 其中key为文件名 服务端接收无乱码。

    HttpClient模拟get,post请求并发送请求参数(json等)

    它允许开发者模拟GET和POST等HTTP请求,并可以方便地发送JSON等数据作为请求参数。在本文中,我们将深入探讨如何使用HttpClient进行HTTP请求操作,以及如何处理JSON数据。 首先,我们需要引入HttpClient的相关依赖...

    java实现httpget和httppost请求httpclient-4.3.1.jar包

    利用httpclient-4.3.1.jar、httpcore-4.3.jar包,很简单的用java实现httpget和httppost请求。

    HttpClient 发送get和post请求

    一个简单的易学的 基于HttpClient 4.3发送psot及get请求,返回数据,适合初学者,适合初学者

    C#的http发送post和get请求源码

    在C#编程中,HTTP(超文本传输协议)是用于客户端和服务器之间通信的主要协议,主要涉及GET和POST两种常见的请求方法。本文将详细介绍如何在C#中实现这两种请求,并结合给定的文件名,推测这是一个简单的C#桌面应用...

    采用 HttpClient GET、POST 方式 提交数据到服务器

    ### 使用HttpClient通过GET和POST方式提交数据到服务器 在现代Web开发中,客户端与服务器之间的交互至关重要。HTTP协议是Web应用中最常用的通信协议之一,而HttpClient则是Java中用于发送HTTP请求的强大工具。本文...

Global site tag (gtag.js) - Google Analytics