簡體   English   中英

LUA.socket,標題

[英]LUA.socket, HEADER

我多年來一直在瀏覽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))

我用“ Found words”部分找回HTML:

<!-- Found words -->
<div id="result">
    <div id="result_content">
...some HTML skipped...
            <td class="meanings_column">ahoy; hullo; hello          </td>

然后,您可以解析返回的HTML,以提取所需的任何值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM