Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets Luasocket自定义标题,404变为301_Sockets_Http Headers_Lua_Luasocket - Fatal编程技术网

Sockets Luasocket自定义标题,404变为301

Sockets Luasocket自定义标题,404变为301,sockets,http-headers,lua,luasocket,Sockets,Http Headers,Lua,Luasocket,我之前的问题是关于使用socket.http模块在lua中获取页面标题。这个问题。之前,youtube页面让我看到了一个404错误页面。基于,我为请求设置了自定义HOST头。我就是这么做的,结果是什么: 代码 结果 据我所知,这个错误基本上是因为X-Content-Type-Optionsvaluednosniff。通过阅读它,我知道唯一定义的值“nosniff”可以防止Internet Explorer从声明的内容类型嗅探响应 请帮助我,以便我可以使用自定义代理并从他们的身体中获取youtu

我之前的问题是关于使用
socket.http
模块在lua中获取页面标题。这个问题。之前,youtube页面让我看到了一个404错误页面。基于,我为请求设置了自定义
HOST
头。我就是这么做的,结果是什么:

代码 结果 据我所知,这个错误基本上是因为
X-Content-Type-Options
valued
nosniff
。通过阅读它,我知道唯一定义的值“nosniff”可以防止Internet Explorer从声明的内容类型嗅探响应


请帮助我,以便我可以使用自定义代理并从他们的身体中获取youtube(和一些其他网站,如前一个问题所述)标题。以下是我目前拥有的完整LUA文件:

local http = require "socket.http"
http.PROXY="http://<proxy address here>:8080"
header = { host= "youtube.com" }
local result,b,c,h = http.request{ url = "http://www.youtube.com/watch?v=_eT40eV7OiI", headers = header }
print ( result, b, c, h )
for k,v in pairs(c) do print(k,v) end
localhttp=require“socket.http”
http.PROXY=“http://:8080”
header={host=“youtube.com”}
本地结果,b,c,h=http.request{url=”http://www.youtube.com/watch?v=_eT40eV7OiI“,headers=header}
打印(结果、b、c、h)
对于k,v成对(c)打印(k,v)结束

我认为这一行应该更改:

 header = { host= "youtube.com" }
致:

在那之后,他为我工作

解决方案是使用ssl.https模块来执行请求

回答是

例如:

-- luasec version 0.4.2
require("ssl")
require("https")
-- ssl.https.request(...)

没有,我在主机名中也尝试了
www
,结果还是一样的。
 header = { host= "youtube.com" }
 header = { host= "www.youtube.com" }
-- luasec version 0.4.2
require("ssl")
require("https")
-- ssl.https.request(...)