`
ET焖猪仔
  • 浏览: 233634 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

向Web站点发送GET请求、POST请求

阅读更多
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);
}
}   
分享到:
评论

相关推荐

    Android移动开发-使用URLConnection提交请求的实现

    URL的openConnection()方法将返回一个URLConnection对象,该对象表示应用程序和URL之间的通信连接。程序可以通过URLConnection实例向该URL...程序Demo示范了如何向Web站点发送GET请求、POST请求,并从Web站点取得响应。

    Nginx 解决WebApi跨域二次请求以及Vue单页面的问题

    发现一个很奇怪的问题,每次前端发起请求的时候,通过浏览器的开发者工具都能看到在Network下同一个url有两条请求,第一条请求的Method为OPTIONS,第二条请求的Method才是真正的Get或者Post,并且,第一条请求无数据...

    护卫神IIS信息查看软件1.0版

    护卫神IIS信息查看软件是一款方便用户实时查看IIS各种...每个站点的get/post请求数 每个FTP当前连接数 每个FTP匿名连接数 每个FTP尝试登陆数 每个FTP总连接数 每个FTP总文件传输数 掌握以上参数,让您更好的管理IIS。

    Web应用安全:浏览器的如何防御攻击.pptx

    利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。 2、存在原因 CSRF(跨站请求伪造) 1、自动发起 Get 请求 2、自动发起 POST 请求 3、...

    POST Search Privacy-crx插件

    -从您的ISP中隐藏了“ https”站点上的POST请求(不是GET请求)。 GET&POST请求? 假设爱丽丝访问“ https://acmebank.com”并登录到她的银行帐户。 要登录,她在银行的网站上提交了包含她的用户名和密码的表格。 ...

    Web Capacity Analysis Tool / WCAT / 负载生成实用工具

    (如果您的站点使用cookie、表单或基于会话的身份验证,那您可以创建正确的 GET 或 POST 请求来对测试用户进行身份验证。)WCAT还可管理您站点可能设置的任何 cookie,所以配置文件和会话信息将永久保存.

    IIS信息查看软件

    站点名称:即IIS中的描述 当前连接:现在的连接网站的数量,其中,_Total是代表整个IIS的连接数 最大连接:从启动IIS后到现在的运行时间 WEB发送:流量,从启动IIS后发送了多少M的流量 WEB接收:从启动IIS后收到的...

    Web服务器日志分析.pptx

    经常可能出现的 METHOD 是GET 、 POST 和 HEAD ; RESOURCE 是指浏览者向服务器请求的文档或 URL ; PROTOCOL 通常是 HTTP ,后面再加上版本号,通常是HTTP/1.1 。 Web服务器日志分析全文共68页,当前为第11页。 ...

    邓炜PHP基本语法(五)状态维持上

    包含做为GET请求的一部分进行传递的参数,数组的键是表单参数名称。 $HTTP_POST_VARS(简写:$_POST) 包含做为POST请求的一部分进行传递的参数,数组的键是表单参数名。 $HTTP_POST_FILES(简写:$_FILES) ...

    Brutexss(汉化版)

    这款脚本能自动进行插入XSS,而且可以自定义攻击载荷。 该脚本也同时提供包含了一些绕过各种WAF(Web应用防护系统)的语句。 BruteXSS是一个非常强大和快速的跨... BruteXSS支持POST和GET请求,适应现代Web应用程序。

    DevOpstest2:尝试容器

    触发事件向以下站点发出POST或GET Web请求: : 使用邮递员运行请求,将链接应用于GET请求,单击“发送”按钮 留言:恭喜! 您已经触发了triggerdevops事件 带有可选的Json主体: {“ value1”:“ Hello-trigger ...

    java-servlet-api.doc

    当一个Servlet被卸载时,引擎将不能给Servlet发送任何请求。引擎必须释放Servlet并完成无用存储单元的收集 Servlet映射技术\r 作为一个Servlet引擎的开发者,你必须对于如何映射客户端的请求到Servlet有大量的适应...

    brutexss牛B版和python

    BruteXSS 支持 POST 和 GET 请求,并适应现代 Web 应用程序。 --------------------- 本文来自 ApacheCN_飞龙 的CSDN 博客 ,全文地址请点击:...

    IIS6.0 IIS,互联网信息服务

    多个域名对应同个Web站点 你只需先将某个IP地址绑定到Web站点上,再在DNS服务器中,将所需域名全部映射向你的这个IP地址上,则你在浏览器中输入任何一个域名,都会直接得到所设置好的那个网站的内容。 搭建IIS服务器...

    SQL注入思路详解

    一、SQL注入可以分为三个步骤 ...由于现在许多web站点都受到WAF防护或者应用开发者自带的代码层Filter,在判断是否存在Sql注入时, 测试payload越简单越好   数字型 数字型 字符型 字符型

    WFetch 1.4是免费实用程序上提供一个作为是基础 " - "。 Microsoft 不支持工具, 但您可以使用它来提供客户端和服务器之间通信详细信息。

    可在当前版本的 WFetch 以下功能: • OPTIONS (GET, HEAD、 PUT、 DELETE、 TRACE,) POST, 多 HTTP 谓词 • 配置主机名 • 配置 TCP 端口 • HTTP 1.0 和 HTTP 1.1 支持 • 多验证类型 (匿名、 基本、 简要, ...

    coderg-with-web:CoderG框架以及CoderG项目站点完整

    局限因为本框架的主要目标是放在“单元”和“例程”上,所以并没有针对GET和POST等多方式请求做任何处理,而且也没有的URL的请求返回做过多处理。因为CoderG开发者本人只在Go下用过PostgreSQL,所以目前CoderG关于...

    固盾iis防火墙.rar

    可以自由设置对URL Get请求过滤与Cookies过滤关键词实现完美防止Web入侵,同时拥有网马查杀功能,WelShell后门查杀清理;数据库挂马查杀彻底杜绝黑客通过后门入侵;全面保护服务器安全,阻止黑客通过SQL注入、Unicode...

Global site tag (gtag.js) - Google Analytics