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 LUA.socket,HEADER_Sockets_Lua_Header - Fatal编程技术网

Sockets LUA.socket,HEADER

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

多年来我一直在浏览stackoverflow,寻找我问题的答案,这是我第一次自己问问题。希望它不会太模糊

现在我很难理解为什么我的LUA代码不起作用。我所要做的就是请求连接并从站点下载html文件。这是密码

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>