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

socket访问HTTP/1.1服务器

阅读更多
通过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引擎 java实现

    综上所述,实现HTTP1.1服务器端和Servlet引擎涉及的知识点包括:HTTP1.1协议、Java Socket编程、Servlet规范、Servlet容器(如Tomcat、Jetty)、Servlet生命周期、Java HttpServer API,以及如何在Java中处理并发...

    HttpClient以及获取页面内容应用

    //HttpMethod method = new PostMethod("http://java.sun.com";); client.executeMethod(method); //打印服务器返回的状态 System.out.println(method.getStatusLine()); //打印返回的信息 System.out.println...

    IIS简单模拟(C#)

    IIS基本原理: 浏览器发出请求,服务器处理请求,服务器返回响应 即 请求-->处理-->响应 ...http/1.1中的长连接的意思是一个页面的访问在一个socket中完成 http/1.0的处理是处理完一个请求,马上关闭,不会保持连接

    使用socket post 数据到http和https

    Socket提供了低级别的网络访问,允许开发者直接与TCP/IP协议栈进行交互,从而实现自定义的网络通信协议。 首先,我们来理解HTTP和HTTPS的基本概念。HTTP(超文本传输协议)是一种用于分布式、协作式和超媒体信息...

    模拟http服务器(socket使用)

    对于简单的HTTP服务器,可能只需要处理GET请求,提供静态文件的访问。 5. **示例代码**: 以下是一个简化的Python HTTP服务器示例,使用Socket实现: ```python import socket # 创建Socket server_socket = ...

    c语言编写 基于SOCKET HTTP Json 请求

    在C语言中,我们可以通过SOCKET连接到服务器,然后构建HTTP请求报文,包括方法(如POST)、URL、HTTP版本、头部信息和主体内容。 POST请求常用于向服务器提交数据,例如表单填写或API调用。在HTTP POST请求中,主体...

    C++ socket访问HTTP,OpenSSL访问HTTPS

    本文将深入探讨如何使用C++通过socket编程实现对HTTP协议的访问,以及如何利用OpenSSL库来处理HTTPS安全连接。这两个主题都是现代互联网应用开发的基础,因为HTTP用于普通的网页浏览,而HTTPS则是保证数据传输安全的...

    c# socket设置代理

    在某些网络环境下,访问外部资源可能需要通过代理服务器。C#中的Socket类支持设置代理,以满足这种需求。设置代理主要包括以下步骤: 1. **选择代理类型**:根据网络环境,选择合适的代理类型,如HTTP代理、SOCKS4/...

    java实现web服务器(1125045231).pdf

    Java 实现Web服务器涉及到的关键技术主要包括HTTP协议的理解和使用,以及Java网络编程中的Socket和ServerSocket类的应用。HTTP(超文本传输协议)是互联网上应用最广泛的数据交换协议,它规定了客户端(通常是Web...

    用socket实现的最简单的web服务器示例

    运行这个服务器,然后在浏览器中访问`http://localhost:8000`,你会看到"Hello, World!"的输出,这就证明了我们的简单Web服务器已经成功工作了。 需要注意的是,这个示例仅用于学习目的,实际的Web服务器需要处理更...

    windows C/C++ HTTP协议访问服务器接口

    在Windows平台上,使用C或C++编程语言进行HTTP协议访问服务器接口是一项常见的任务,尤其在开发网络应用程序时。HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,用于从万维网服务器传输超文本到本地...

    使用socket基于c#编写的服务器端的方法

    在C#中,通过`System.Net.Sockets`命名空间可以访问Socket类库,该类库提供了创建和管理Socket连接的所有必要功能。 ##### 1. TCP Socket TCP(传输控制协议)是一种面向连接的协议,提供可靠的字节流服务。当使用...

    直接用socket实现HTTP协议(下载专用)

    在提供的“纯C++的Socket访问Http封装类.txt”和“直接用socket实现HTTP协议(下载专用).txt”文件中,可能包含了上述步骤的C++代码实现。这些文件可能包含了一个HTTP客户端的类,封装了创建、连接、发送、接收和关闭...

    python实现一个简单的http服务器(csdn)————程序.pdf

    本文将介绍如何使用Python实现一个简单的HTTP服务器,以便通过Web访问服务器目录下的文件内容。我们将遵循以下步骤: 1. **接收HTTP请求** Python代码中的`service_client`函数负责处理客户端的连接。它首先通过`...

    http_test.zip_SOCKET用户_c++socket4代理_代理_代理 socket_代理验证

    `c++socket4代理`指的是使用SOCKET API来实现对HTTP协议的代理支持,其中“4”可能指的是HTTP/1.0版本,尽管现代HTTP已经发展到HTTP/1.1及以上版本。为了通过代理服务器发送HTTP请求,我们需要构造一个带有代理信息...

    Qt使用QtWebApp搭建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代理设计与实现”聚焦于如何使用Python的socket库来创建一个HTTP代理服务器。HTTP代理在网络安全、数据抓取和匿名浏览等方面有着广泛的应用。 首先,我们需要理解HTTP协议。HTTP...

    Embedded Appweb移植 安装 应用

    * Secure Socket Layer (SSL/TLS):Appweb 服务器支持安全套接字层(SSL/TLS),提供了安全的 Web 访问体验。 * Session state data management:Appweb 服务器支持会话状态数据管理,提供了灵活的 Web 应用开发体验...

    使用JAVA开发类似Tomcat的服务器

    5. **处理请求**:根据请求类型,服务器可能需要访问文件系统获取资源(对于GET请求),或者处理表单数据(对于POST请求)。 6. **构建HTTP响应**:一旦请求被处理,服务器需要构建并发送HTTP响应。响应包括状态行...

Global site tag (gtag.js) - Google Analytics