2017-12-11 3 views
1

Python(と私のブラウザ)では、https://www.devrant.com/api/devrant/rants?app=3&sort=algo&limit=10&skip=0にリクエストを送信して、期待通りの応答を得ることができましたが、LuaではHTTP/1.1 301 Moved Permanentlyと表示されます。301と永続的にsocket.httpに移動しました

HTTPエラーページを出力
http = require("socket.http"); 
print(http.request("https://www.devrant.com/api/devrant/rants?app=3&sort=algo&limit=10&skip=0") 

(恒久的に移動)と

301 table: 0x8f32470 http/1.1 301 Moved Permanently 

テーブルの内容は次のとおりです:

location https://www.devrant.com/api/devrant/rants?app=3&sort=algo&limit=10&skip=0 
content-type text/html 
server nginx/1.10.0 (Ubuntu) 
content-length 194 
connection close 
date Mon, 11 Dec 2017 01:41:35 

なぜ唯一Luaはありませんここで私はこれまで試してみましたものですこのエラーが発生しますか? Googleにリクエストすると、GoogleホームページのHTMLが表示されます。 status.mojang.comにリクエストすると、mojangサーバーのステータスがJSONレスポンス文字列に取得されるので、ソケットは確実に機能します。

答えて

3

httpsのURLをsocket.httpからリクエストしているためです。 socket.httphttpsを処理しないため、URLはhttps URLに転送されますが、socketに転送されるリクエストはポート80に送信されますが、httpsでの処理を「認識」していないためレポート301.

luasecをインストールして使用し、socket.httpの代わりにssl.httpsを使用すると、動作するようになります。

+0

私がvanilla Luaとできることはありますか? – AlgoRythm

+1

いいえ。あなたはluasocketとluasecが必要です。 –

関連する問題