`
zhangfy068
  • 浏览: 148453 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

http get post

    博客分类:
  • java
 
阅读更多

package org.crazyit.net;

import java.io.*; 
import java.net.*;
import java.util.*;

/**
 * Description:
 * <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a> 
 * <br/>Copyright (C), 2001-2010, Yeeku.H.Lee
 * <br/>This program is protected by copyright laws.
 * <br/>Program Name:
 * <br/>Date:
 * @author  Yeeku.H.Lee kongyeeku@163.com
 * @version  1.0
 */

public class GetPostUtil
{
	/**
	 * 向指定URL发送GET方法的请求
	 * 
	 * @param url
	 *            发送请求的URL
	 * @param params
	 *            请求参数,请求参数应该是name1=value1&name2=value2的形式。
	 * @return URL所代表远程资源的响应
	 */
	public static String sendGet(String url, String params)
	{
		String result = "";
		BufferedReader in = null;
		try
		{
			String urlName = url + "?" + params;
			URL realUrl = new URL(urlName);
			// 打开和URL之间的连接
			URLConnection conn = realUrl.openConnection();
			// 设置通用的请求属性
			conn.setRequestProperty("accept", "*/*");
			conn.setRequestProperty("connection", "Keep-Alive");
			conn.setRequestProperty("user-agent",
				"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
			// 建立实际的连接
			conn.connect();
			// 获取所有响应头字段
			Map<String, List<String>> map = conn.getHeaderFields();
			// 遍历所有的响应头字段
			for (String key : map.keySet())
			{
				System.out.println(key + "--->" + map.get(key));
			}
			// 定义BufferedReader输入流来读取URL的响应
			in = new BufferedReader(
				new InputStreamReader(conn.getInputStream()));
			String line;
			while ((line = in.readLine()) != null)
			{
				result += "\n" + line;
			}
		}
		catch (Exception e)
		{
			System.out.println("发送GET请求出现异常!" + e);
			e.printStackTrace();
		}
		// 使用finally块来关闭输入流
		finally
		{
			try
			{
				if (in != null)
				{
					in.close();
				}
			}
			catch (IOException ex)
			{
				ex.printStackTrace();
			}
		}
		return result;
	}

	/**
	 * 向指定URL发送POST方法的请求
	 * 
	 * @param url
	 *            发送请求的URL
	 * @param params
	 *            请求参数,请求参数应该是name1=value1&name2=value2的形式。
	 * @return URL所代表远程资源的响应
	 */
	public static String sendPost(String url, String params)
	{
		PrintWriter out = null;
		BufferedReader in = null;
		String result = "";
		try
		{
			URL realUrl = new URL(url);
			// 打开和URL之间的连接
			URLConnection conn = realUrl.openConnection();
			// 设置通用的请求属性
			conn.setRequestProperty("accept", "*/*");
			conn.setRequestProperty("connection", "Keep-Alive");
			conn.setRequestProperty("user-agent",
				"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
			// 发送POST请求必须设置如下两行
			conn.setDoOutput(true);
			conn.setDoInput(true);
			// 获取URLConnection对象对应的输出流
			out = new PrintWriter(conn.getOutputStream());
			// 发送请求参数
			out.print(params);
			// flush输出流的缓冲
			out.flush();
			// 定义BufferedReader输入流来读取URL的响应
			in = new BufferedReader(
				new InputStreamReader(conn.getInputStream()));
			String line;
			while ((line = in.readLine()) != null)
			{
				result += "\n" + line;
			}
		}
		catch (Exception e)
		{
			System.out.println("发送POST请求出现异常!" + e);
			e.printStackTrace();
		}
		// 使用finally块来关闭输出流、输入流
		finally
		{
			try
			{
				if (out != null)
				{
					out.close();
				}
				if (in != null)
				{
					in.close();
				}
			}
			catch (IOException ex)
			{
				ex.printStackTrace();
			}
		}
		return result;
	}
}
 
分享到:
评论

相关推荐

    VC++ HTTP Get Post请求

    在VC++编程环境中,HTTP(超文本传输协议)Get和Post请求是常见的网络通信方法,主要用于从或向Web服务器发送数据。MFC(Microsoft Foundation Classes)库为VC++提供了便捷的方式来实现这些功能。本文将详细讲解...

    c++ boost asio http get post请求

    在本例中,我们将探讨如何使用Boost.Asio实现HTTP GET和POST请求。 首先,让我们理解GET和POST请求的基本概念。GET是HTTP协议中最常见的请求方法,用于从服务器获取资源。而POST请求通常用于向服务器发送数据,如...

    http get post 请求模拟器

    HTTP是互联网上应用最为广泛的一种网络协议,GET和POST是HTTP协议中的两种主要请求方法,它们在Web开发中扮演着重要角色。理解这两者的工作原理和区别对于进行网络编程至关重要。 1. GET请求: GET请求是HTTP中最...

    QT实现http GET POST操作

    QT实现的http GET POST操作 #include #include #include #include #include &lt;QtNetwork/QHttpRequestHeader&gt;

    http get post 请求接口工具类

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

    shttp.rar_POST_SHTTP协议_linux http get post_linux http协议_shttp

    "POST_SHTTP协议"指的是这个程序支持使用POST方法来向服务器发送数据,而"linux http get post"表明这个程序在Linux环境下实现了HTTP的GET和POST请求。"linux_http协议"进一步强调了这个实现是在遵循标准HTTP协议的...

    WCF Web HTTP get post wcf reset ful

    标题 "WCF Web HTTP get post wcf reset ful" 暗示了我们正在讨论Windows Communication Foundation(WCF)服务中的Web HTTP绑定,以及与GET、POST请求相关的方法,可能还包括服务重置和完整配置(ful)的话题。...

    http get post实现-转

    本项目“http get post实现-转”是用C语言实现的一个轻量级的HTTP服务器,名为Tinyhttpd,它支持GET和POST两种请求方法。下面我们将详细讨论这两个请求方法以及C语言实现HTTP服务器的关键点。 1. GET与POST请求方法...

    HTTP Get POST 分析工具(c# 源代码)

    在本资源中,我们主要关注HTTP的两种主要请求方法:GET和POST,以及如何使用C#语言来实现这些功能。这份源代码提供了对HTTP协议进行分析的工具,对于学习和开发C#类爬虫程序的初学者来说非常有帮助。 GET方法是HTTP...

    C# http Get/POST请求封装类

    GET和POST是HTTP协议中最常见的两种请求方法,分别用于获取资源和提交数据。本文将详细讨论如何在C#中封装一个用于执行HTTP GET和POST请求的类,以及`HttpHelper.cs`文件中的关键实现。 首先,了解GET和POST的基本...

    php http get post实现

    该类封装了http常用的get post等方法,使用非常简单。

    DelphiXE10.3封装http-get-post成dll及调用

    例如,可以创建一个名为`THttpFunctions`的接口,并声明两个函数:`function HttpGet(const URL: string): string; stdcall;` 和 `function HttpPost(const URL, Data: string): string; stdcall;`。 - 在DLL项目的...

    HTTP_POST_GET.rar_Http get post_http get_http post_http post ge

    本文将深入探讨HTTP协议中的两种主要请求方法:GET和POST,以及它们在实际应用中的区别。 首先,GET请求是最常见的HTTP方法,用于从服务器获取资源。当用户在浏览器地址栏输入URL并按回车时,浏览器就会发送一个GET...

    C++ 实现 HTTP HTTPS POST GET(包含curl版本和winhttp两种实现)

    C++ 实现 HTTP HTTPS POST GET(包含curl版本和winhttp两种实现)。 玩过抓包,网络协议分析的朋友肯定都知道http https post get,web端和用户的交互主要是通过post get完成的。 我这里有两种实现: 1:libcurl实现的...

    http get post 实现

    本文将深入探讨GET和POST两种主要的HTTP请求方法,以及如何在Go语言中实现它们。 GET和POST是HTTP协议中最常见的请求方法。GET主要用于获取资源,其请求参数通常包含在URL中,具有可缓存、可被搜索引擎抓取等特性,...

    有关HTTP get post

    本篇文章将详细讲解HTTP中的GET和POST方法,并着重阐述它们在Android应用程序中向服务器发送数据的应用。 首先,GET和POST是HTTP协议中两种主要的请求方法,它们用于从服务器获取资源或向服务器提交数据。 1. GET...

    c语言实现http get post 请求 适用于arm x86 嵌入式系统

    用的库比较通用,各个平台和各个版本的gcc应该都可以用 ## 目前测试过可用平台 &gt; x86_64 debian11 &gt; arm(s3c2440) linux2.26 ## 目前测试过可用编译器 &gt; gcc10(x86) &gt; gcc4(x86) ...&gt; gcc3(arm)

    TestPost.zip_HTTP Get Post_POST GET_c++ httpclient_http请求_请求http

    mfc http post 和get 请求

Global site tag (gtag.js) - Google Analytics