HTTP GETリクエストから取得したテキストを解析する必要があります。私はNodeMCUでLuaを使用していますが、私はあまりそれに精通していません。私は、それをHTTPレスポンスを印刷するときluaでHTTPレスポンス本文を取得するには?
私は応答をフェッチすると、一度に1行を分割するスクリプトを使用しています。このスクリプトを使用して
local nStart, nEnd = string.find(c, "\n\n")
if (nEnde == nil) then
nStart, nEnd = string.find(c, "\r\n\r\n")
end
c = string.sub(c,nEnd+1)
print("length: "..string.len(c))
data = mysplit(c, "\n") -- fill the field with filenames
HTTP GETリクエストは、この
GET /lua/node.php?id=4022029&list HTTP/1.1
Host: mydomain.com
Accept: */*
User-Agent: Mozilla/4.0 (compatible; esp8266 Lua;)
のように見えます私はmydomain.com/lua/node.php?id=4022029を入力すると、この
HTTP/1.1 200 OK
Date: Tue, 28 Nov 2017 01:05:12 GMT
Server: Apache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=23p8rtds43pd1662ncm5cjhrl3; path=/
Transfer-Encoding: chunked
Content-Type: text/html; charset=utf-8
のように見えますlist、私はファイルのリストを他のテキストのように取得しますが、このスクリプトは何も取得していません。体がないように見えます。私はここで何が欠けていますか? HTTPデータがチャンクエンコードされていないからデータをフェッチするとき
私のスクリプトが動作しているが、私はチャンクエンコーディングからそれをフェッチすることはできませんよ
更新、。
HTTPがチャンク化されていないローカルホストで動作させることができました。私はそのサーバー上のエンコーディングを変更することができないので、チャンクされたままになります。私はそのデータを解析する方法を理解する必要があります。 – emir