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) {
}
分享到:
相关推荐
在ASP.NET中,请求URL获取返回值是网络编程的一个常见任务,主要涉及到Web请求和数据交互。本篇文章将深入探讨如何使用`WebRequest`和`WebClient`这两种方式来实现这一功能。 首先,让我们理解`WebRequest`类。它是...
要使用`WebRequest`请求远程URL,首先需要实例化`HttpWebRequest`子类,然后设置相关属性,如URL、请求方法(GET或POST),最后通过`GetResponse`方法发送请求并获取响应。 ```csharp WebRequest request = ...
### C#后台访问URL请求结果知识点详解 #### 一、函数功能概述 本文将详细介绍一个在C#中用于后台访问URL并获取响应结果的方法:`GetURLResult`。该方法支持HTTP请求中的两种常见方法——GET和POST,并允许指定数据...
不过,直接使用`URL`类进行网络请求较为低级,需要手动处理输入输出流和设置请求头。 ```java URL url = new URL("http://example.com"); URLConnection connection = url.openConnection(); ``` 2. `...
在java web项目里面获取url地址相关的工程名、段落或者参数等,本文档专门讲这些方法总结罗列,希望对大家能有帮助
本文将深入探讨四种主要的URL请求方式,包括HTTP基础请求方法以及Spring框架中的请求工具类。我们将讨论它们的工作原理、优缺点以及如何在实际开发中灵活运用。 1. HTTP基础请求方法: - GET:最常用的方法,用于...
本文将详细介绍四种不同的方式来获取这些参数,无论请求是GET还是POST。 1. **直接通过形参获取**: 这是最直观的方式,适用于GET请求。Spring Boot的`@RequestMapping`注解允许你将请求参数与控制器方法的形参直接...
url模块可以将一个URL字符串解析成一个URL对象,从而方便开发者获取到协议、主机名、端口、路径等信息。此外,还能解析URL中的查询字符串参数,得到一个表示各个参数的对象。 在提供的文件内容中,涉及到了两个关键...
本篇将详细探讨Hessian在实战中的应用,特别是如何获取客户端请求的URL以及如何重定向或转发客户端请求。 首先,我们需要了解Hessian的基本原理。Hessian是基于HTTP的,它将Java对象序列化为二进制格式,从而减少...
为了解决这个问题,我们可以使用并发请求技术,将多个URL请求同时发送,从而提高整体的执行速度。以下是一个关于PHP实现并发URL请求的知识点详解: 1. **多线程与多进程**: 在PHP中,由于其默认是单线程的,我们...
在Thymeleaf中构建可靠的Ajax请求URL是Web开发中的一个重要环节,特别是在使用Spring Boot和其他MVC框架时。Thymeleaf是一个强大的服务器端模板引擎,它可以与Ajax结合使用,提供动态更新页面的能力,而无需刷新整个...
在IT领域,定时任务执行和URL请求是两个关键概念,特别是在自动化运维、数据抓取以及系统监控中。本文将深入探讨这两个主题,并介绍一个适用于Windows和Linux系统的稳定工具。 首先,"定时url"指的是设置一个定时器...
如果客户端再次请求相同的URL,它会检查是否有缓存的副本,并根据服务器设置决定是否需要重新获取最新版本。 例如,`Cache-Control`字段可以设置为`max-age=3600`,表示资源在缓存中有效一小时。如果在这一小时内...
每条请求都包含请求方法(GET、POST等)、URL、状态码、响应时间、响应头和请求头等信息。开发者可以通过过滤功能只显示Ajax请求,从而更方便地查看和分析。 此外,Chrome的"Chrome DevTools Protocol"也允许开发者...
GET请求是用来从服务器上获取资源的,它将请求参数附在URL后面,通过问号(?)分隔。这种方式限制了请求的长度,因为URL有长度限制,同时也意味着GET请求的数据对用户可见,不太适合传输敏感信息。在C#中,我们可以...
Python是一种强大的编程语言,尤其在处理网络请求和数据操作方面表现突出。在处理大量URL访问时,使用单线程可能会导致效率低下,因为每个请求必须等待前一个请求完成才能进行。为了解决这个问题,我们可以利用...
- **请求头部**:包含了多个键值对,用来提供关于请求的附加信息,例如用户代理信息、接受的内容类型等。 - **消息体**:仅出现在某些类型的请求中,如POST请求,用于传递给服务器的数据。 **响应格式**: HTTP...
下面是几种常用的JavaScript方法来获取当前页面的URL: - **`document.URL`**:返回当前文档的完整URL。例如:`http://www.test.com/testweb/default.aspx`。 - **`document.location.href`**:返回当前文档的完整...
综上所述,`HttpServletRequest`是处理HTTP请求的核心工具,它提供了丰富的API来获取URL、URL参数以及其他请求信息,如头信息、cookies等。熟练掌握这些方法,对于编写健壮的Java Web应用程序至关重要。在实际项目中...