通过socket访问web并打印才出web内容.下面的方法比较原始,通过最底层的API实现.笔者再通过commons-io来实现.
package test.common.io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
public class IO {
public static void main(String[] args) throws Exception {
Socket s = new Socket("121.9.238.94", 80);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
bw.write("GET / HTTP/1.1");
bw.newLine();
bw.write("Host:121.9.238.94:80");
bw.newLine();
bw.write("Content-Type:text/html");
bw.newLine();
bw.newLine();
bw.flush();
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String str = null;
while ((str = br.readLine()) != null) {
System.out.println(str);
}
bw.close();
br.close();
s.close();
}
}
引入commons-io,只需要以下3行代码,既可实现上述功能.
package test.common.io;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import org.apache.commons.io.FileUtils;
public class IO {
public static void main(String[] args) throws IOException {
URL url = new URL("http://www.163.com");
File file = new File("c:\\163.html");
FileUtils.copyURLToFile(url, file);
System.out.println(FileUtils.readFileToString(file, "gbk"));
}
}
分享到:
相关推荐
综上所述,实现HTTP1.1服务器端和Servlet引擎涉及的知识点包括:HTTP1.1协议、Java Socket编程、Servlet规范、Servlet容器(如Tomcat、Jetty)、Servlet生命周期、Java HttpServer API,以及如何在Java中处理并发...
//HttpMethod method = new PostMethod("http://java.sun.com";); client.executeMethod(method); //打印服务器返回的状态 System.out.println(method.getStatusLine()); //打印返回的信息 System.out.println...
IIS基本原理: 浏览器发出请求,服务器处理请求,服务器返回响应 即 请求-->处理-->响应 ...http/1.1中的长连接的意思是一个页面的访问在一个socket中完成 http/1.0的处理是处理完一个请求,马上关闭,不会保持连接
Socket提供了低级别的网络访问,允许开发者直接与TCP/IP协议栈进行交互,从而实现自定义的网络通信协议。 首先,我们来理解HTTP和HTTPS的基本概念。HTTP(超文本传输协议)是一种用于分布式、协作式和超媒体信息...
对于简单的HTTP服务器,可能只需要处理GET请求,提供静态文件的访问。 5. **示例代码**: 以下是一个简化的Python HTTP服务器示例,使用Socket实现: ```python import socket # 创建Socket server_socket = ...
在C语言中,我们可以通过SOCKET连接到服务器,然后构建HTTP请求报文,包括方法(如POST)、URL、HTTP版本、头部信息和主体内容。 POST请求常用于向服务器提交数据,例如表单填写或API调用。在HTTP POST请求中,主体...
本文将深入探讨如何使用C++通过socket编程实现对HTTP协议的访问,以及如何利用OpenSSL库来处理HTTPS安全连接。这两个主题都是现代互联网应用开发的基础,因为HTTP用于普通的网页浏览,而HTTPS则是保证数据传输安全的...
在某些网络环境下,访问外部资源可能需要通过代理服务器。C#中的Socket类支持设置代理,以满足这种需求。设置代理主要包括以下步骤: 1. **选择代理类型**:根据网络环境,选择合适的代理类型,如HTTP代理、SOCKS4/...
Java 实现Web服务器涉及到的关键技术主要包括HTTP协议的理解和使用,以及Java网络编程中的Socket和ServerSocket类的应用。HTTP(超文本传输协议)是互联网上应用最广泛的数据交换协议,它规定了客户端(通常是Web...
运行这个服务器,然后在浏览器中访问`http://localhost:8000`,你会看到"Hello, World!"的输出,这就证明了我们的简单Web服务器已经成功工作了。 需要注意的是,这个示例仅用于学习目的,实际的Web服务器需要处理更...
在Windows平台上,使用C或C++编程语言进行HTTP协议访问服务器接口是一项常见的任务,尤其在开发网络应用程序时。HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,用于从万维网服务器传输超文本到本地...
在C#中,通过`System.Net.Sockets`命名空间可以访问Socket类库,该类库提供了创建和管理Socket连接的所有必要功能。 ##### 1. TCP Socket TCP(传输控制协议)是一种面向连接的协议,提供可靠的字节流服务。当使用...
在提供的“纯C++的Socket访问Http封装类.txt”和“直接用socket实现HTTP协议(下载专用).txt”文件中,可能包含了上述步骤的C++代码实现。这些文件可能包含了一个HTTP客户端的类,封装了创建、连接、发送、接收和关闭...
本文将介绍如何使用Python实现一个简单的HTTP服务器,以便通过Web访问服务器目录下的文件内容。我们将遵循以下步骤: 1. **接收HTTP请求** Python代码中的`service_client`函数负责处理客户端的连接。它首先通过`...
`c++socket4代理`指的是使用SOCKET API来实现对HTTP协议的代理支持,其中“4”可能指的是HTTP/1.0版本,尽管现代HTTP已经发展到HTTP/1.1及以上版本。为了通过代理服务器发送HTTP请求,我们需要构造一个带有代理信息...
socket->write("HTTP/1.1 404 Not Found\r\n\r\n"); } } ``` 4. **主函数**: 在`main.cpp`中启动服务器: ```cpp #include #include "server.h" int main(int argc, char *argv[]) { ...
本主题“基于python与socket的http代理设计与实现”聚焦于如何使用Python的socket库来创建一个HTTP代理服务器。HTTP代理在网络安全、数据抓取和匿名浏览等方面有着广泛的应用。 首先,我们需要理解HTTP协议。HTTP...
* Secure Socket Layer (SSL/TLS):Appweb 服务器支持安全套接字层(SSL/TLS),提供了安全的 Web 访问体验。 * Session state data management:Appweb 服务器支持会话状态数据管理,提供了灵活的 Web 应用开发体验...
5. **处理请求**:根据请求类型,服务器可能需要访问文件系统获取资源(对于GET请求),或者处理表单数据(对于POST请求)。 6. **构建HTTP响应**:一旦请求被处理,服务器需要构建并发送HTTP响应。响应包括状态行...