public class TestGetPost
{
/**
* 向指定URL发送GET方法的请求
* @param url 发送请求的URL
* @param param 请求参数,请求参数应该是name1=value1&name2=value2的形式。
* @return URL所代表远程资源的响应
*/
public static String sendGet(String url , String param)
{
String result = "";
BufferedReader in = null;
try
{
String urlName = url + "?" + param;
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)
{
esult += "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 param 请求参数,请求参数应该是name1=value1&name2=value2的形式。
* @return URL所代表远程资源的响应
*/
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.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 += "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;
}
//提供主方法,测试发送GET请求和POST请求
public static void main(String args[])
{
//发送GET请求
String s = TestGetPost.sendGet("http://localhost:8888/abc/
login.jsp",null);
System.out.println(s);
// 发送POST请求
String s1 = TestGetPost.sendPost("http://localhost:8888/abc/a.jsp",
"user= 李刚&pass=abc");
System.out.println(s1);
}
}
http://qq361119908.iteye.com/blog/688381
分享到:
相关推荐
完整的向web发送get已经post请求的java程序
本篇将详细讲解Android中如何使用HTTPS进行GET和POST请求。 首先,HTTPS基于SSL/TLS协议,提供加密处理、服务器身份验证和消息完整性检查等功能。在Android中,我们通常会用到HttpURLConnection或者第三方库如...
android发送get,post请求工具类
### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 ...通过上述示例和解释,你应该能够理解和掌握如何使用Java HttpClient库来发送GET和POST请求,这对于开发Web应用程序或与API接口交互至关重要。
在 Java 中发送 GET 和 POST 请求是非常常见的操作,今天我们将通过使用 Apache HttpClient 库来实现这些操作。 什么是 Apache HttpClient 库? Apache HttpClient 库是 Apache 软件基金会提供的一个开源库,用于...
- 在`FrmTestHttpPost`类中,可能会有一个按钮事件,当用户点击按钮时,调用`HttpClient`发送GET或POST请求。请求的结果可以通过`HttpResponseMessage`的`Content`属性读取,然后显示在窗体的某个控件上。 6. **...
HttpClient(用CloseableHttpClient发送get/post请求)
本文将深入探讨如何利用Java的HttpClient库在后台模拟发送GET和POST请求,以及如何处理中文乱码问题。 首先,我们来理解GET和POST两种请求方法。GET请求通常用于获取服务器上的资源,它将参数附加到URL中,具有可...
POST请求则常用于向服务器发送数据。在OkHttp3中,发起POST请求需要额外设置请求体: ```java RequestBody requestBody = FormBody.create(MediaType.parse("application/x-www-form-urlencoded"), "key=value"); ...
在Android开发中,获取网络数据是常见的需求,通常我们通过HTTP协议发起GET或POST请求来实现。本教程将详细介绍如何在Android Studio中使用Java编写代码发起GET网络请求,适合初学者学习。 首先,理解GET请求的基本...
而POST则常用于向服务器发送数据,如表单提交,数据被包含在请求正文中,这对于传输大量或敏感数据更为安全。 HTML表单是用户与网页交互的重要方式,它们可以触发GET或POST请求。在HTML中,`<form>`标签用于定义...
httpclient的用法,发送get请求和post请求,设置header
java实现get请求post请求,文件传输 /** * 发送https请求 * @param requestUrl 请求地址 * @param requestMethod 请求方式(GET、POST) * @param outputStr 提交的数据 * @return 返回微信服务器响应的信息 ...
在Web开发中,与服务器进行交互的一个关键方法是通过HTTP(超文本传输协议)发送GET和POST请求。这两个方法是HTTP协议中最基本的请求类型,用于从服务器获取或向服务器提交数据。 首先,让我们详细了解GET请求。GET...
50行代码http发送Post/Get请求,直接在linux gcc编译即可使用,或在win下任意c/c++编译器都可
在Windows Forms(Winform)应用开发中,GET和POST是两种常见的HTTP请求方法,用于从服务器获取或向服务器发送数据。这两个概念对于任何与Web交互的客户端程序设计都是至关重要的,尤其是在使用C#进行Winform编程时...
同时,通过阅读如"HttpClient发送get请求和post请求"这样的博客,你可以获取更多关于HttpClient实战中的技巧和最佳实践。在提供的压缩包文件中,`test-demo`和`httpclient-demo`可能包含了这些示例的源码,供你...
在Java编程中,发送HTTP和HTTPS请求是常见的网络通信任务,尤其在开发Web服务客户端或者进行API测试时。本文将详细讲解如何使用Java发送GET和POST请求,以及涉及的HTTPS安全连接。 首先,理解HTTP和HTTPS的区别至关...
在.NET开发中,WebAPI是一种用于构建RESTful服务的技术,它可以接收HTTP请求,如POST和GET,处理数据并返回响应。本文将详细讲解如何在.NET后台使用这两种方法调用WebAPI,以及如何实现文件上传。 1. GET方式调用...
2. POST:POST请求则用于向服务器发送数据,通常用于提交表单或者上传文件。POST请求的数据包含在请求体中,对数据量无明显限制,且数据对用户不可见。 在C#中,我们可以使用`System.Net.Http`命名空间中的...