java - 尝试使用套接字检索页面时不断收到相同的错误代码(错误请求)

标签 java sockets web

我试图使用 Socket 获取网页并获取请求,但对于我尝试使用它的任何网站或网页,我不断收到相同的错误 - 错误的请求。

    Socket s = new Socket("horstmann.com", 80);

    InputStream in = s.getInputStream();
    OutputStream out = s.getOutputStream();

    Scanner reader = new Scanner(in);
    PrintWriter writer = new PrintWriter(out, false);

    String command = "GET / HTTP/1.0\n\n";
    //System.out.print(command);
    writer.print(command);
    writer.flush();

    while (reader.hasNextLine()) {
        System.out.println(reader.nextLine());
    }
    s.close();

最佳答案

试试这个:

import java.net.*;
import java.io.*;

class ScoketQuestion {
    public static void main(String[] args) {
        try {
            final String URL = "";
            Socket s = new Socket(URL, 80);
            DataInputStream dIn = new DataInputStream(s.getInputStream());
            PrintWriter wtr = new PrintWriter(s.getOutputStream());
            wtr.println("GET / HTTP/1.1");
            wtr.println("Host: " + URL);
            wtr.println("");
            wtr.flush();
            byte[] data = new byte[1024];
            int pt = 0;
            String str;
            while (true) {
                pt = dIn.read(data);
                if (pt == -1) break;
                str = new String(data, 0, pt);
                System.out.println(str);
            }
        } catch (IOException e) {
            System.out.println(e);
        }
    }
}

关于java - 尝试使用套接字检索页面时不断收到相同的错误代码(错误请求),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47959754/

相关文章:

java - 如何使用 Undertow 返回要在 Java 中下载的文件?

web - Drupal:您使用 SVN 进行网站开发吗?

c++ - 使用sockets时,哪些IO操作会导致完成包发送到完成端口?

python - 将 C 代码中的字符串发送到 Flask

java - 有人说 "Result is not Thread-Safe"是什么意思

java - JAX-RS REST 服务如何通过注释处理身份验证?

java - IPC:为每个请求连接还是保持套接字打开?

javascript - 未捕获( promise )TypeError : Cannot read property 'style' of null

java - 如何按内部类列表的收集器分组?

java - 当它们属于不同的组时,Maven 如何管理重复的 artifactIds?