HttpClient GET和POST请求

package com.rogue.hclient;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.RequestEntity;
import org.apache.commons.httpclient.methods.StringRequestEntity;

/**
 * 测试HttpClient功能
 * @author djoker
 *
 */
public class HClientTest {

    HttpClient client = new HttpClient();

    //get功能测试
    public void getTest(){
        String uri = "http://172.16.100.20/cgi-bin/ht.cgi?method=getMethodTest";
        GetMethod method = new GetMethod(uri);
        try {
            int code = client.executeMethod(method);
            System.out.println(code);
            if(200 == code){

//                StringBuffer sb = new StringBuffer();
//                sb.append(method.getResponseBodyAsString());    //不推荐使用,会有警告,如果读取的内容过多,会导致超过最大读取值
//                System.out.println(sb.toString());

                InputStream is = method.getResponseBodyAsStream();
                BufferedReader br = new BufferedReader(new InputStreamReader(is, "utf-8"));
                String line = null;
                while((line = br.readLine()) != null){
                    System.out.println(line);
                }
            }
        } catch (HttpException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    //POST测试
    public void postTest(){
        String uri = "http://172.16.100.20/cgi-bin/ht.cgi";
        String content = "method=PostMethod&paramer=paramer";   //参数
        PostMethod method = new PostMethod(uri);
        RequestEntity requestEntity = new StringRequestEntity(content); //字符串请求参数
        method.setRequestEntity(requestEntity); //设置请求参数
        try {
            int code = client.executeMethod(method);
            System.out.println(code);
            if(200 == code){
                InputStream is = method.getResponseBodyAsStream();
                BufferedReader br = new BufferedReader(new InputStreamReader(is, "utf-8"));
                String line = null;
                while((line = br.readLine()) != null){
                    System.out.println(line);
                }
            }
        } catch (HttpException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    public static void main(String[] args){
        HClientTest hct = new HClientTest();
        hct.getTest();
        System.out.println("--------");
        hct.postTest();
    }
}
时间: 2024-10-08 11:43:09

HttpClient GET和POST请求的相关文章

httpclient的几种请求URL的方式

一.httpclient项目有两种使用方式.一种是commons项目,这一个就只更新到3.1版本了.现在挪到了HttpComponents子项目下了,这里重点讲解HttpComponents下面的httpclient的使用方式. 二.加入jar包 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <ver

org.apache.httpcomponents httpclient 发起HTTP JSON请求

1. pom.xml <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.3</version> </dependency> 2. HttpClient.java package com.midea.clean.util; import java.io

HttpClient发送get post请求和数据解析

最近在跟app对接的时候有个业务是微信登录,在这里记录的不是如何一步步操作第三方的,因为是跟app对接,所以一部分代码不是由我写,我只负责处理数据,但是整个微信第三方的流程大致都差不多,app端说要传给我access_token和openid,对用户的处理还是要我去请求微信.这里写一下发送请求以及解析数据的过程来获取用户资料,其他的微信业务再做深究 import org.apache.http.HttpResponse; import org.apache.http.client.HttpCli

HttpUrlconnection 、Httpclient get 、post 请求核心代码

HttpURLConnection的使用 /* * URL请求的类别分为二类,GET与POST请求.二者的区别在于: * a:) get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet, * b:) post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内. */ // url对象表示的是一个指定的资源 URL url = new URL("http://localhost:8080/TestHttpURLConnectionPr

采用Android中的httpclient框架发送get请求

/** * 采用httpclientGet请求的方式 * * @param username * @param password * @return null表示求得的路径有问题,text返回请求得到的数据 */ public static String httpclientGet(String username, String password) { try { // 1.打开一个浏览器 HttpClient client = new DefaultHttpClient(); // 2.输入地

采用Android中的httpclient框架发送post请求

/** * 采用httpclientPost请求的方式 * * @param username * @param password * @return null表示求得的路径有问题,text返回请求得到的数据 */ public static String httpclientPost(String username, String password) { try { // 1.打开一个浏览器 HttpClient client = new DefaultHttpClient(); // 2.输

springMVC + hadoop + httpclient 文件上传请求直接写入hdfs

springMVC + hadoop + httpclient 文件上传请求直接写入hdfs

HttpClient服务端的请求

import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.SocketTimeoutException; import java.net.U

HttpWebRequest 改为 HttpClient 踩坑记-请求头设置

HttpWebRequest 改为 HttpClient 踩坑记-请求头设置 Intro 这两天改了一个项目,原来的项目是.net framework 项目,里面处理 HTTP 请求使用的是 WebReauest,但是 WebRequest 已经不再推荐使用了,你如果在项目中使用的话,编译器会警告, WebRequest已过时,新项目要 .Net standard 重写就直接 HttpClient 来处理 HTTP 请求了,在改的过程中踩了几个坑,记录一下 请求头处理 HttpClient 通常

採用Android中的httpclient框架发送post请求

/** * 採用httpclientPost请求的方式 * * @param username * @param password * @return null表示求得的路径有问题,text返回请求得到的数据 */ public static String httpclientPost(String username, String password) { try { // 1.打开一个浏览器 HttpClient client = new DefaultHttpClient(); // 2.输