gpt4 book ai didi

sockets - 如何通过 net.socket 或 http.request 创建 HTTP-1.0 请求?

转载 作者:搜寻专家 更新时间:2023-10-31 22:48:43 25 4
gpt4 key购买 nike

我想通过 net.socket 或 http.request 创建一个 HTTP-1.0 请求,但我对这段代码有疑问:

var http = require('http');

var options = {
host:'google.com',
method: 'CONNECT',
path: 'google.com:80',
port: 80
};

var req = http.request(options);
req.end();

req.on('connect', function(res, socket, head) {
socket.write('GET / HTTP/1.0\r\n' +
'Host: google.com:80\r\n' +
'\r\n');
socket.on('data', function(chunk) {
console.log(chunk);
});
socket.end();
});

我得到同样的错误:

events.js:66
throw arguments[1]; // Unhandled 'error' event
^
Error: Parse Error
at Socket.socketOnData (http.js:1366:r20)
at TCP.onread (net.js:403:27)

欢迎您的帮助。

最佳答案

http.request 始终使用 HTTP/1.1,它在源代码中是硬编码的。

下面是使用纯 TCP 流发送 HTTP/1.0 请求的代码(通过 net.connect):

var net = require('net');

var opts = {
host: 'google.com',
port: 80
}

var socket = net.connect(opts, function() {
socket.end('GET / HTTP/1.0\r\n' +
'Host: google.com\r\n' +
'\r\n');
});

socket.on('data', function(chunk) {
console.log(chunk.toString());
});

关于sockets - 如何通过 net.socket 或 http.request 创建 HTTP-1.0 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12431774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com