我正在通过建立合法连接从网站读取源代码,就像在 Java 中这样:
final Socket sock = new Socket(hostname, 80);
PrintWriter writer = new PrintWriter(sock.getOutputStream(), true);
writer.println("GET /path HTTP/1.1");
writer.println("Host: " + hostname);
writer.println();
//...
while (!sock.isClosed() && (line = reader.readLine()) != null) {
System.out.println(line);
}
它运行良好,除了输出中有一些奇怪的行,当我使用 Firefox 浏览网站时这些行不存在。
问题是某些源代码行会因一些随机的不同信息而中断,我不知道为什么我会得到这样的信息来破坏我的源代码。
<div clas
16d0
s="span5">
或
<td style="text-align:c
2000
enter; vertical-align:middle">information</td>
这是什么,我该如何解决?
最佳答案
看起来服务器正在向您发送分块数据。你能发送 HTTP/1.0
而不是 1.1 吗?这应该确保不会对响应执行分块。
关于http - HTTP 协议(protocol)中这些奇怪的行是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16561665/