gpt4 book ai didi

javascript - NodeJS - TCP - 发送 HTTP 请求

转载 作者:可可西里 更新时间:2023-11-01 02:32:53 27 4
gpt4 key购买 nike

我正在尝试通过 TCP 套接字发送 HTTP 请求。

但是我根本没有从 www.google.com 得到任何回应。不知道我做错了什么。


代码如下:

var client, net, raw_request;

net = require('net');

raw_request = "GET http://www.google.com/ HTTP/1.1\nUser-Agent: Mozilla 5.0\nhost: www.google.com\nCookie: \ncontent-length: 0\nConnection: keep-alive";

client = new net.Socket();

client.connect(80, "www.google.com", function() {
console.log("Sending request");
return client.write(raw_request);
});

client.on("data", function(data) {
console.log("Data");
return console.log(data);
});

希望有人能帮助我。


澄清一下……请求中缺少两个结尾换行符,所有换行符的格式都必须是/r/n。

谢谢大家! :)

最佳答案

如果您安装了谷歌浏览器,您可以看到发送给谷歌的确切获取请求。这是我的样子:

GET https://www.google.com/ HTTP/1.1
:host: www.google.com
accept-charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
accept-encoding: gzip,deflate,sdch
accept-language: en-US,en;q=0.8
user-agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17
:path: /
accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
:version: HTTP/1.1
cache-control: max-age=0
cookie: <lots of chars here>
:scheme: https
x-chrome-variations: CMq1yQEIjLbJAQiYtskBCKW2yQEIp7bJAQiptskBCLa2yQEI14PKAQ==
:method: GET

乍一看,我可以看到 chrome 正在将请求发送到 https://www.google.com,而你正在发送到 http://www .google.com

还有一点就是你正在使用“\n”,你需要使用“\r\n”,并且请求必须以“\r\n\r\n”结尾。

如果您仍然无法获得任何响应,请尝试使用 http://77.214.52.152/ 而不是 http://google.com

关于javascript - NodeJS - TCP - 发送 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14417617/

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