`

http请求,http get请求,http post请求

阅读更多

http请求,http get请求,http post请求

 

package com.gdcy.util;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;

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

	/**
	 * 向指定 URL 发送POST方法的请求
	 * 
	 * @param url
	 *            发送请求的 URL
	 * @param param
	 *            请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
	 * @return 所代表远程资源的响应结果
	 */
	public static String sendPost(String url, String param) {
		PrintWriter out = null;
		BufferedReader in = null;
		String result = "";
		try {
			URL realUrl = new URL(url);
			// 打开和URL之间的连接
			URLConnection conn = realUrl.openConnection();
			conn.setConnectTimeout(5000);
			// 设置通用的请求属性
			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(param);
			// flush输出流的缓冲
			out.flush();
			// 定义BufferedReader输入流来读取URL的响应
			in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
			String line = "";
			while ((line = in.readLine()) != null) {
				result += 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;
	}
}

 

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀分享 2013年5月8日 20:57:10 星期三

 

2
5
分享到:
评论

相关推荐

    VC++ HTTP Get Post请求

    在VC++编程环境中,HTTP(超文本传输协议)Get和Post请求是常见的网络通信方法,用于从或向服务器发送数据。这两个方法是Web应用程序与服务器交互的基础,理解它们的工作原理和如何在VC++中实现至关重要。 **HTTP ...

    C# http Get/POST请求封装类

    这两种方法的安全性和可缓存性也有所不同,GET请求的参数显示在URL上,易于被记录,而POST请求的数据则包含在请求体中,相对更安全。 在C#中,我们可以使用`System.Net.Http`命名空间下的HttpClient类来发送HTTP...

    http get post 请求模拟器

    总的来说,了解并熟练使用HTTP的GET和POST请求是网络开发的基础,而HTTP请求模拟器则是开发者测试和调试HTTP接口的强大工具。通过阅读"使用说明.txt",你可以学习如何有效地利用这个工具,提高工作效率。同时,访问...

    C++实现HTTP GET,POST请求

    本篇文章将详细探讨如何使用C++来实现HTTP GET和POST请求,以及涉及HTTPS的安全连接。 HTTP GET请求是HTTP协议中最基础的操作之一,主要用于从服务器获取资源。GET请求的所有参数都包含在URL中,因此它是透明且可...

    c++ boost asio http get post请求

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

    html页面模式get/post请求

    在这个场景中,我们探讨的主题是如何利用HTML页面来模拟GET和POST请求,尤其是处理POST请求时如何以JSON(JavaScript Object Notation)格式传递参数。这在前端开发、网页表单提交以及API测试中是非常常见且重要的...

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

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

    C#-HTTP请求(Post,GET,表单)

    C#-HTTP请求(Post,GET,表单)

    api实现http请求,支持post和get方法

    接着,对于POST请求,使用HttpOpenRequest指定请求类型为POST,并设置请求头,通过HttpSendRequest发送数据;对于GET请求,HttpOpenRequest的请求类型设为GET即可。在请求完成后,通过InternetReadFile读取服务器...

    winform GET请求和POST请求

    GET请求是HTTP协议中最简单也最常用的一种方法。它主要用于从服务器获取资源,请求参数通常附加在URL后面,以问号(?)分隔。由于GET请求的数据是可见的,并且限制了请求长度,所以不适合传输敏感信息或者大量数据。...

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

    本文将详细介绍如何在C#中实现这两种请求,并结合给定的文件名,推测这是一个简单的C#桌面应用程序,用于测试HTTP POST和GET请求。 1. **HTTP GET请求**: - GET请求是最基本的HTTP请求类型,用于从服务器获取资源...

    c# http协议,实现get或post发送请求 并返回内容

    本篇将详细介绍如何在C#中利用HTTP协议实现GET和POST请求,并获取返回的内容。 首先,让我们了解GET和POST的基本概念: 1. GET:GET请求是最常见的HTTP方法,用于从服务器获取资源。参数通常附加在URL后面,可见且...

    基于Labview的HTTP的GET与POST请求示例

    超文本传输协议(HTTP)的...两种 HTTP 请求方法:GET 和 POST 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。 GET - 从指定的资源请求数据。 POST - 向指定的资源提交要被处理的数据

    java通过HTTP调用接口(Get请求和Post请求)

    java调用HTTP接口(Get请求和Post请求)

    QT C++ http get、post 同步异步请求

    GET请求是最常见的HTTP请求类型,用于从服务器获取资源。在QT中,可以通过调用QNetworkAccessManager的get()函数实现。同步GET请求会阻塞当前线程,直到服务器响应返回;而异步GET请求则不会阻塞,它会在后台运行,...

    http get post 请求接口工具类

    - GET:GET请求是最常见的HTTP方法,用于从服务器获取资源。它将数据附加到URL路径中,限制了请求的数据长度,通常用于获取非敏感或幂等的数据。 - POST:POST请求用于向服务器提交数据,一般用于创建新资源。POST...

    C# 使用Get和Post请求获取数据

    在Web开发中,与服务器进行交互的一个关键方法是通过HTTP(超文本传输协议)发送GET和POST请求。这两个方法是HTTP协议中最基本的请求类型,用于从服务器获取或向服务器提交数据。 首先,让我们详细了解GET请求。GET...

    Delphi两种方法演示HTTP请求:GET/POST.rar

    Delphi两种方法演示HTTP请求:GET/POST方法使用演示,程序将演示使用这两种方法建立会话、建立一个http请求句柄、发送一个指定请求到httpserver、接收header信息和一个http请求、指向一个接收请求信息的缓冲区的指针...

    VB6Get和POST请求异步处理请求

    以下是一个简单的VB6异步GET请求示例: ```vb Private Sub btnGet_Click() Dim xhr As Object Set xhr = CreateObject("MSXML2.XMLHTTP") xhr.Open "GET", "http://example.com", True ' True 表示异步请求 ...

Global site tag (gtag.js) - Google Analytics