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
valuednosniff
。通过阅读它,我知道唯一定义的值“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(...)