`
txazo
  • 浏览: 79453 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Socket获取HTTP响应

    博客分类:
  • J2SE
阅读更多
目标网页URL:http://www.baidu.com
public class HttpSender {

	private static byte[] request = null;

	static {
		StringBuffer temp = new StringBuffer();
		temp.append("GET http://www.baidu.com HTTP/1.1\r\n");
		temp.append("Host: 119.75.217.109:80\r\n");
		temp.append("Connection: keep-alive\r\n");
		temp.append("Cache-Control: max-age=0\r\n");
		temp
				.append("User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11\r\n");
		temp
				.append("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
		temp.append("Accept-Encoding: gzip,deflate,sdch\r\n");
		temp.append("Accept-Language: zh-CN,zh;q=0.8\r\n");
		temp.append("Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3\r\n");
		temp.append("\r\n");
		request = temp.toString().getBytes();
	}

	public static void sendHttpRequest() throws Exception {
		Socket socket = new Socket("119.75.217.109", 80);

		OutputStream os = socket.getOutputStream();
		os.write(request);
		os.flush();

		BufferedReader br = new BufferedReader(new InputStreamReader(socket
				.getInputStream()));

		String temp = null;
		while ((temp = br.readLine()) != null) {
			System.out.println(temp);
		}

		br.close();
		os.close();
		socket.close();
	}

	public static void main(String[] args) throws Exception {
		sendHttpRequest();
	}

}

运行后输出服务器响应。
分享到:
评论

相关推荐

    利用C# Socket 实现HTTP WEB服务器

    处理完请求后,我们需要构造HTTP响应并发送回客户端。一个简单的HTTP响应可能如下所示: ```csharp string response = "HTTP/1.1 200 OK\r\n" + "Content-Type: text/html\r\n" + "\r\n" + "<html><body>Hello, ...

    http.rar_http请求响应_socket http 请求

    4. 接收响应:通过`recv()`或`read()`函数从Socket读取服务器的响应数据。 5. 处理响应:解析接收到的HTTP响应,提取状态码、头部信息和实体内容。 6. 关闭连接:使用`close()`函数关闭Socket连接。 在给定的文件...

    Socket实现HTTP下载协议.rar

    服务器接收到请求后,根据请求内容返回一个HTTP响应,响应包括状态码、头部信息和可能的数据体(如HTML文档、图片、文件等)。 在Socket编程中,我们需要自己构建这些HTTP请求。首先创建一个Socket连接到目标服务器...

    socket 实现http下载

    服务器接收到请求后,会返回HTTP响应,包括状态行、头部和可能的数据体。例如: ``` HTTP/1.1 200 OK Content-Type: text/html Content-Length: 18 <html>Hello, World! ``` 客户端接收到响应后,需要解析响应头...

    Android下socket模拟http server

    我们可以读取`Socket`的输入流获取请求数据,然后解析出请求的URL,比如`/mnt/sdcard/IDATACHINA/file.html`。 解析完请求后,服务器需要找到对应的文件并将其内容发送回客户端。可以使用`FileInputStream`打开文件...

    基于Socket的http监听

    【基于Socket的http监听】是一种网络编程技术,用于构建自定义的HTTP服务器,它通过使用低级别的Socket接口来实现对HTTP请求的接收和响应。在Java等编程语言中,Socket编程是实现网络通信的基础,而HTTP监听则是在...

    一个简单的Socket实现的HTTP响应服务器

    标题 "一个简单的Socket实现的HTTP响应服务器" 描述了如何使用Java中的Socket编程来构建一个基本的HTTP服务器,这是网络编程中的一个基础概念。HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,而...

    SOCKET转HTTP

    HTTP响应同样由状态行、响应头、空行和响应体组成。 3. **转换逻辑**: 要实现Socket与HTTP之间的转换,可以采用以下步骤: - 将Socket接收的数据转换为HTTP请求或响应格式。 - 使用HTTP服务器(如ASP.NET ...

    tcp_http.rar_http socket_http下载_socket 下载_socket下载http_tcp http

    5. 接收服务器返回的HTTP响应,包括状态码、头部和响应主体。 6. 检查状态码,如果成功(通常是200),则开始接收并保存响应主体,即下载的文件内容。 7. 关闭Socket连接,执行TCP的四次挥手。 在"tcp_http.rar"的...

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

    5. **接收响应**:使用`recv`函数从服务器接收HTTP响应报文,处理状态码、头部信息和可能的响应体。 6. **关闭连接**:当通信完成后,调用`shutdown`和`closesocket`函数关闭SOCKET连接,并通过`WSACleanup`函数...

    原生Socket 实现HTTP、HTTPS通信

    同时,定义一个`decodeResponse`方法,从Socket的`InputStream`读取数据,解析出HTTP响应的各个部分。 接下来,我们讨论HTTPS(安全套接层超文本传输协议),它是HTTP的安全版本,使用SSL/TLS协议对通信进行加密,...

    用Socket实现的Http协议.rar_HTTP实现_c#http协议_socket_socket http_socket w

    HTTP响应也包含响应行、响应头部和可能的响应体。注意,由于HTTP协议规定,响应体和头部之间由两个连续的换行符分隔,因此在解析时需要特别关注这一特性。 标签中的"c#http协议"提示我们,我们将使用C#语言来实现这...

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

    需要注意的是,HTTP响应可能分块传输,需要处理 Chunked Transfer Encoding。 7. **处理响应**:解析收到的数据,提取状态码、头部信息和文件内容。如果状态码为200,表示成功,文件内容通常位于响应体中。 8. **...

    VC++利用Socket实现HTTP下载协议.rar_http socket_http vc_http下载_socket htt

    服务器接收到请求后,会返回HTTP响应,我们使用recv()函数读取这些数据。响应通常包含状态码(如200表示成功)、头部信息和资源内容。当收到的状态码为200且连接未关闭时,我们可以持续读取数据直到完成下载。 为了...

    JAVA使用Socket编写HTTP服务器

    6. **构造响应** - 创建HTTP响应,包括状态行(状态码、HTTP版本),头部(如Content-Type、Content-Length),以及响应体(文件内容或错误消息)。 7. **发送响应** - 将响应写入Socket的输出流,然后关闭连接。 ...

    http 连接 使用socket

    发送完请求后,我们需要读取服务器返回的HTTP响应。这通常涉及处理网络I/O的阻塞问题。为了实现异步I/O模型,我们可以使用多线程、多进程或者事件驱动的编程模型,如Python的asyncio库。在异步I/O中,当等待Socket...

    http.rar_Socket 实现http_pxa270_socket http

    6. **响应HTTP**:根据请求内容,生成相应的HTTP响应,包括状态码、响应头和响应体,然后通过Socket发送回客户端。 7. **关闭连接**:处理完请求后,关闭Socket连接。 在"www.pudn.com.txt"和"04_http"这两个文件...

    VC Socket GET_POST发送HTTP请求示例

    为了处理HTTP响应,你可以编写一个简单的解析器,逐行读取响应并检查状态码(如200表示成功,404表示未找到)。响应头部通常以空行结束,之后是响应体。 在实际编程中,还要考虑错误处理,如网络中断、超时或无效的...

    tomcat 分配请求之——socket获取请求

    标题“Tomcat分配请求之——Socket获取请求”主要涉及的是Tomcat服务器在处理HTTP请求时的核心机制。在Web服务器中,Tomcat是一个广泛使用的开源应用服务器,它负责解析并响应来自客户端(如浏览器)的HTTP请求。这...

    使用Socket 完成HTTP post方式的文本及文件上传 demo

    最后,我们需要将请求行、请求头和消息体写入Socket的输出流,并从Socket的输入流读取服务器的响应。在Java中,可以使用`Socket.getOutputStream()`和`Socket.getInputStream()`方法获取这些流。 以下是一个简单的...

Global site tag (gtag.js) - Google Analytics