`

用Socket发送http请求

阅读更多


import java.net.*;
import java.io.*;
public class URLSender { 
  /**     * @param args */
public static void main(String[] args) throws IOException {
        try {
           Socket socket = new Socket("www.nwu.edu.cn", 80);
           boolean autoflush = true;
           PrintWriter out = new PrintWriter(socket.getOutputStream(), autoflush);
           BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            //send an HTTP request to the web server
           out.println("GET / HTTP/1.1");
           out.println("Host: nwu.edu.cn");
           out.println("Connection: Close");
           out.println();
           //read the response       
           boolean loop = true;
           StringBuffer sb = new StringBuffer(8096);
           while (loop) {
              if (in.ready()) {
                int i = 0;
                while (i != -1) {
                    i = in.read();
                    sb.append((char) i);
                }
                loop = false;
            }
           //Thread.currentThread().sleep(50); 
          } 
          //display the response to the out console 
          System.out.println(sb.toString());
          socket.close();
       } catch (UnknownHostException e) {
            System.err.println("Don't know about host: Victest.");
            System.exit(1);
       } catch (IOException e) {
           System.err.println("Couldn't get I/O for " + "the connection to: Victest."); 
           System.exit(1);
       }
  }
}

2、用Socket发送一个POST请求

    try {
        // Construct data
        String data = URLEncoder.encode("key1", "UTF-8") + "=" + URLEncoder.encode("value1", "UTF-8");
        data += "&" + URLEncoder.encode("key2", "UTF-8") + "=" + URLEncoder.encode("value2", "UTF-8");
   
        // Create a socket to the host
        String hostname = "hostname.com";
        int port = 80;
        InetAddress addr = InetAddress.getByName(hostname);
        Socket socket = new Socket(addr, port);
   
        // Send header
        String path = "/servlet/SomeServlet";
        BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"));
        wr.write("POST "+path+" HTTP/1.0\r\n");
        wr.write("Content-Length: "+data.length()+"\r\n");
        wr.write("Content-Type: application/x-www-form-urlencoded\r\n");
        wr.write("\r\n");
   
        // Send data
        wr.write(data);
        wr.flush();
   
        // Get response
        BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        String line;
        while ((line = rd.readLine()) != null) {
            // Process line...
        }
        wr.close();
        rd.close();
    } catch (Exception e) {
    }
分享到:
评论

相关推荐

    c#使用Socket发送HTTP/HTTPS请求的实现代码

    C#中使用Socket发送HTTP/HTTPS请求是一种高效的方法,特别是在需要自定义HTTP封包或对HTTP请求进行深入控制时。本文主要介绍了如何使用C#的Socket类来发送HTTP/HTTPS请求,并对相关的知识点进行了详细的解释。 ...

    C语言socket发送http请求的例子源代码

    一个使用C语言socket发送http请求的例子 这是一个linux下使用C的标准socket,进行http访问的例子。通过socket发送get请求,从中国天气网获得指定城市的天气。 该例子在ubuntu 14.04和AM3358的嵌入式linux3.14下实际...

    socket发送http请求

    在linux环境下,使用socket发送和接收http请求的例子

    一个使用C语言socket发送http请求的例子

    通过socket发送get请求,从中国天气网获得指定城市的天气。 该例子在ubuntu 14.04和AM3358的嵌入式linux3.14下实际测试可用。 如果需要在嵌入式linux下使用,需要修改Makefile文件的CC和LINK项,指向相应的交叉...

    java socket 发送http请求webservice.

    Java Socket 发送HTTP请求Web Service是一项...总的来说,Java Socket发送HTTP请求Web Service涉及网络编程和HTTP协议的理解,通过源码实现可以深入学习底层原理,但实际项目中可能更倾向于使用成熟的HTTP客户端库。

    vc 用socket 发送http post 请求

    在C++编程环境中,尤其是使用Microsoft Foundation Class (MFC) 库时,向服务器发送HTTP POST请求是一项常见的任务。这通常涉及到网络编程和套接字(Socket)的使用。本教程将详细介绍如何在Visual C++ (VC++) 中...

    利用java socket实现发送http请求

    基于java socket发送http请求。这种原生的发送请求的方式能适合一些特定场景,比如: A向B发送请求,A不考虑B是否处理成功,即A不关注B的响应结果,那么A就不用阻塞等B的回应。 传统的Httpclient请求方式都是阻塞...

    C#中用SOCKET发送HTTP请求小例

    C#中用SOCKET发送HTTP请求小例 自行组织http报文,报显示服务器反馈回来的报头与报体信息。 ------------- HTTP/1.1 200 OK Date: Mon, 08 Dec 2008 14:20:51 GMT Server: BWS/1.0

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

    4. **发送请求**:调用`send`函数将整个HTTP请求报文发送到服务器。 5. **接收响应**:使用`recv`函数从服务器接收HTTP响应报文,处理状态码、头部信息和可能的响应体。 6. **关闭连接**:当通信完成后,调用`...

    TCP socket 请求报文发送工具

    例如,如果你想要测试一个HTTP服务器,你可以输入`telnet www.example.com 80`,如果连接成功,你将看到一个空白的命令行,这意味着你可以开始输入HTTP请求。 然而,"TCP socket请求报文发送工具"可能提供了更高级...

    通过socket发送GET请求查询IP归属地,Json格式数据解析

    本文将深入探讨如何使用socket发送GET请求来查询IP归属地,并解析返回的Json格式数据。首先,我们要理解socket的基本概念。 Socket,通常称为套接字,是进程间通信(IPC)的一种方式,特别是在网络环境下。在TCP/IP...

    Socket实现发送HTTP请求

    用Socket实现了发送HTTP请求,源码已经打包了 这些是CHttp里面公开的函数 void SetUrl(char*); //设置网页URL char* GetCookie(); //获取网页cookie void SetCookie(std::string strCookie);//添加cookie std::...

    PHP使用socket发送HTTP请求的方法

    本文实例讲述了PHP使用socket发送HTTP请求的方法。分享给大家供大家参考,具体如下: socket方式: $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); //socket_set_option($socket, SOL_SOCKET, SO_...

    php 利用socket发送HTTP请求(GET,POST)

    今天给大家带来的是如何利用socket发送GET,POST请求。我借用燕十八老师封装好的一个Http类给进行说明。  在日常编程中相信很多人和我一样大部分时间是利用浏览器向服务器提出GET,POST请求,那么可否利用其它方式...

    VC Socket GET_POST发送HTTP请求示例#资源达人分享计划#

    本文将深入探讨使用VC(Visual C++)进行Socket编程,特别是如何通过GET和POST方法发送HTTP请求,这在开发网络应用程序时非常常见。我们将分析标题、描述以及提供的文件名列表,并从中提炼出相关知识点。 首先,"VC...

    php的socket发送post请求示例

    在PHP中,使用Socket发送POST请求涉及以下步骤: 1. 创建Socket连接: 首先,我们需要创建一个Socket连接到目标服务器。这可以通过`socket_create()`函数完成,指定协议类型(如AF_INET代表IPv4)和套接字类型(如...

    Python中使用socket发送HTTP请求数据接收不完整问题解决方法

    主要介绍了Python中使用socket发送HTTP请求数据接收不完整问题解决方法,本文使用一个循环解决了数据不完整问题,需要的朋友可以参考下

    VC Socket GET_POST发送HTTP请求示例

    本文将深入探讨使用VC(Visual C++)进行Socket编程,特别是如何通过GET和POST方法发送HTTP请求。HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,用于从Web服务器获取或提交数据。 首先,理解Socket...

    MTK平台用Socket实现HTTP请求总结

    本文将深入探讨如何在MTK平台上通过Socket编程来发送HTTP请求,涉及的知识点包括Socket基本原理、HTTP协议以及MTK平台的特定注意事项。 一、Socket基础知识 Socket是网络通信的一种接口,它允许两个网络应用程序...

Global site tag (gtag.js) - Google Analytics