Sockets LUA.socket,HEADER
多年来我一直在浏览stackoverflow,寻找我问题的答案,这是我第一次自己问问题。希望它不会太模糊 现在我很难理解为什么我的LUA代码不起作用。我所要做的就是请求连接并从站点下载html文件。这是密码Sockets LUA.socket,HEADER,sockets,lua,header,Sockets,Lua,Header,多年来我一直在浏览stackoverflow,寻找我问题的答案,这是我第一次自己问问题。希望它不会太模糊 现在我很难理解为什么我的LUA代码不起作用。我所要做的就是请求连接并从站点下载html文件。这是密码 local http = require("socket.http") local ltn12 = require("ltn12") local response = {} local body,code,headers,status = http.request({ method
local http = require("socket.http")
local ltn12 = require("ltn12")
local response = {}
local body,code,headers,status = http.request({
method = "GET",
url = "http://jisho.org/",
headers = {
jap = "",
eng = "hello",
dict = "edict"
},
sink = ltn12.sink.table(response)
})
print(table.concat(response))
这是一个简单的代码,应该进入字典网站“jisho.org”并发送标题,以便搜索英文单词“hello”,并打印出新的html页面。现在我只得到了“jisho.org”的html,而不是搜索“hello”的网站的html
我想知道我做错了什么?查看该网站,您需要使用不同的URL,并在URL中包含查询参数(如Etan Reisner所建议);以下代码适用于我:
local http = require("socket.http")
local ltn12 = require("ltn12")
local response = {}
local body,code,headers,status = http.request({
method = "GET",
url = "http://jisho.org/words?jap=&eng=hello&dict=edict",
sink = ltn12.sink.table(response),
})
print(table.concat(response))
我用“找到的单词”部分返回HTML:
…跳过了一些HTML。。。
啊,;胡洛;你好
然后,您可以解析返回的HTML以提取所需的任何值。在网站上快速尝试似乎表明这些是URL参数,而不是http头。因此,将它们作为标题发送是行不通的。您需要将它们粘贴到URL中。
<!-- Found words -->
<div id="result">
<div id="result_content">
...some HTML skipped...
<td class="meanings_column">ahoy; hullo; hello </td>