`
420189155
  • 浏览: 54472 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

获取Url信息的四种请求

阅读更多

1、BufferedReader 

                URL url = new URL("http://qingni.net");

            // 读取源码

BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));

String line;

StringBuffer sb = new StringBuffer();

while ((line = reader.readLine()) != null) {

sb.append(line).append("\n");

}

reader.close();

2、InputStreamReader

 

                URL url = new URL("http://qingni.net");

// 读取源码

//读取中文时,使用Reader类是每次读出两个字节的,不会出现中文乱码

InputStreamReader in = new InputStreamReader(url.openStream(), "UTF-8");

char[] buf = new char[2048];//缓存

StringBuffer sb = new StringBuffer();

int len = 0;

while ((len = in.read(buf)) != -1) {//当没到文档尽头继续读取

sb.append(buf, 0, len);

}

 

3、HttpURLConnection 

 

     String line;

StringBuffer sb = new StringBuffer();

resp.setContentType("text/plain; charset=utf-8");

 

try {

URL url = new URL("http://qingni.net/");

HttpURLConnection connection = (HttpURLConnection) url.openConnection();

connection.setDoInput(true);// 使用 URL 连接进行输入

connection.setRequestMethod("GET");

// 取得网页源码

BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));

if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {

// 每次读取一行输出

while ((line = reader.readLine()) != null) {

sb.append(line).append("\n");

}

reader.close();

} else {

// Server returned HTTP error code.

}

connection.disconnect();

} catch (MalformedURLException e) {

 

} catch (IOException e) {

 

}

 
4、HttpURLConnection  Post
            String line;
StringBuffer sb = new StringBuffer();
String result = null;
resp.setContentType("text/html; charset=utf-8");
 
try {
// 此处的地址请换成你的,在本地测试时可以填入http://localhost:8080/request.jsp
URL url = new URL("http://qingni.net/request.jsp");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);// 使用 URL 连接进行输出
connection.setRequestMethod("POST");
// 取得输出流
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
// 用UTF-8编码,保证中文传递正常
String message = URLEncoder.encode("你好,I'm Fatkun!", "UTF-8");
// 写入发送的内容 如 aaa=2222&bbb=3333 不带?号
writer.write("msg=" + message);
writer.close();
 
// 取得输入流并读出
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
log.info("成功连接");
// 每次读取一行输出
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
reader.close();
} else {
// Server returned HTTP error code.
}
 
connection.disconnect();
} catch (MalformedURLException e) {
 
} catch (IOException e) {
 
}
分享到:
评论
1 楼 dengminghua1016 2012-03-05  
终于找到了想要的……

相关推荐

    asp.net 请求url 获取返回值

    在ASP.NET中,请求URL获取返回值是网络编程的一个常见任务,主要涉及到Web请求和数据交互。本篇文章将深入探讨如何使用`WebRequest`和`WebClient`这两种方式来实现这一功能。 首先,让我们理解`WebRequest`类。它是...

    asp.net 请求url,获取返回值

    要使用`WebRequest`请求远程URL,首先需要实例化`HttpWebRequest`子类,然后设置相关属性,如URL、请求方法(GET或POST),最后通过`GetResponse`方法发送请求并获取响应。 ```csharp WebRequest request = ...

    C#后台访问url请求结果

    ### C#后台访问URL请求结果知识点详解 #### 一、函数功能概述 本文将详细介绍一个在C#中用于后台访问URL并获取响应结果的方法:`GetURLResult`。该方法支持HTTP请求中的两种常见方法——GET和POST,并允许指定数据...

    向URL发送请求

    不过,直接使用`URL`类进行网络请求较为低级,需要手动处理输入输出流和设置请求头。 ```java URL url = new URL("http://example.com"); URLConnection connection = url.openConnection(); ``` 2. `...

    java web中常用获取请求URL中各段的方法

    在java web项目里面获取url地址相关的工程名、段落或者参数等,本文档专门讲这些方法总结罗列,希望对大家能有帮助

    4中url请求方式,包括http和spring自带请求

    本文将深入探讨四种主要的URL请求方式,包括HTTP基础请求方法以及Spring框架中的请求工具类。我们将讨论它们的工作原理、优缺点以及如何在实际开发中灵活运用。 1. HTTP基础请求方法: - GET:最常用的方法,用于...

    springboot获取URL请求参数的多种方式

    本文将详细介绍四种不同的方式来获取这些参数,无论请求是GET还是POST。 1. **直接通过形参获取**: 这是最直观的方式,适用于GET请求。Spring Boot的`@RequestMapping`注解允许你将请求参数与控制器方法的形参直接...

    nodejs实现获取当前url地址及url各种参数值

    url模块可以将一个URL字符串解析成一个URL对象,从而方便开发者获取到协议、主机名、端口、路径等信息。此外,还能解析URL中的查询字符串参数,得到一个表示各个参数的对象。 在提供的文件内容中,涉及到了两个关键...

    Hessian实战应用之获取客户端请求URL和重新转发客户端请求

    本篇将详细探讨Hessian在实战中的应用,特别是如何获取客户端请求的URL以及如何重定向或转发客户端请求。 首先,我们需要了解Hessian的基本原理。Hessian是基于HTTP的,它将Java对象序列化为二进制格式,从而减少...

    简单实用的PHP并发请求url类

    为了解决这个问题,我们可以使用并发请求技术,将多个URL请求同时发送,从而提高整体的执行速度。以下是一个关于PHP实现并发URL请求的知识点详解: 1. **多线程与多进程**: 在PHP中,由于其默认是单线程的,我们...

    如何在Thymeleaf中实现ajax请求url的可靠构造

    在Thymeleaf中构建可靠的Ajax请求URL是Web开发中的一个重要环节,特别是在使用Spring Boot和其他MVC框架时。Thymeleaf是一个强大的服务器端模板引擎,它可以与Ajax结合使用,提供动态更新页面的能力,而无需刷新整个...

    定时url,定时任务执行,每隔秒执行请求网址

    在IT领域,定时任务执行和URL请求是两个关键概念,特别是在自动化运维、数据抓取以及系统监控中。本文将深入探讨这两个主题,并介绍一个适用于Windows和Linux系统的稳定工具。 首先,"定时url"指的是设置一个定时器...

    两次请求相同的一个URL,会产生缓存问题。

    如果客户端再次请求相同的URL,它会检查是否有缓存的副本,并根据服务器设置决定是否需要重新获取最新版本。 例如,`Cache-Control`字段可以设置为`max-age=3600`,表示资源在缓存中有效一小时。如果在这一小时内...

    chrome扩展插件获取ajax请求记录

    每条请求都包含请求方法(GET、POST等)、URL、状态码、响应时间、响应头和请求头等信息。开发者可以通过过滤功能只显示Ajax请求,从而更方便地查看和分析。 此外,Chrome的"Chrome DevTools Protocol"也允许开发者...

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

    GET请求是用来从服务器上获取资源的,它将请求参数附在URL后面,通过问号(?)分隔。这种方式限制了请求的长度,因为URL有长度限制,同时也意味着GET请求的数据对用户可见,不太适合传输敏感信息。在C#中,我们可以...

    python多线程批量访问url脚本

    Python是一种强大的编程语言,尤其在处理网络请求和数据操作方面表现突出。在处理大量URL访问时,使用单线程可能会导致效率低下,因为每个请求必须等待前一个请求完成才能进行。为了解决这个问题,我们可以利用...

    HTTP协议详解(请求、响应、URL等)

    - **请求头部**:包含了多个键值对,用来提供关于请求的附加信息,例如用户代理信息、接受的内容类型等。 - **消息体**:仅出现在某些类型的请求中,如POST请求,用于传递给服务器的数据。 **响应格式**: HTTP...

    C#获取当前页面的url

    下面是几种常用的JavaScript方法来获取当前页面的URL: - **`document.URL`**:返回当前文档的完整URL。例如:`http://www.test.com/testweb/default.aspx`。 - **`document.location.href`**:返回当前文档的完整...

    request获取url以及其参数

    综上所述,`HttpServletRequest`是处理HTTP请求的核心工具,它提供了丰富的API来获取URL、URL参数以及其他请求信息,如头信息、cookies等。熟练掌握这些方法,对于编写健壮的Java Web应用程序至关重要。在实际项目中...

Global site tag (gtag.js) - Google Analytics