2013-07-17 2 views
0

Я бег клиента Lua HTTP и запрос приводит к ошибке 400:Гван & Lua HTTP клиента

[root]# ./luatest 
<!DOCTYPE HTML><html><head><title>400 Bad Request</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link href="/imgs/errors.css" rel="stylesheet" type="text/css"></head> 
<body><h1>Bad Request</h1> 
<p>Your browser sent a request that this server could not understand.</p></body></html> 400  table: 0x1ba1f70  HTTP/1.1 400 Bad Request 

[root]# cat luatest 
#!/usr/bin/lua 
local http = require("socket.http") 
print(http.request("http://localhost/")) 

[root]# curl "http://localhost" 
<html> hi there </html> [root]# 

G-WAN правильно отвечает на запрос завитка клиента, но он умирает при запросе одного документа от lua. Что-то нам не хватает, или это просто не сработает?

+0

Что-то вроде [fiddler] (http://fiddler2.com/) может помочь вам здесь, позволяя вам наблюдать различия в необработанных HTTP-запросах между curl и gwan. – Mike

+0

Mike, здесь G-WAN - это сервер, и завиток - это клиент, поэтому G-WAN не выдаёт никакого запроса, который можно «сравнить» с curl's: G-WAN отправляет ответ на запросы клиента curl или lua. – Gil

ответ

0

Возможно, вы могли бы просмотреть HTTP-запрос клиента и сбросить его там. Если вы не видите, что с ним не так, у нас будет возможность рассказать вам.

С 2009 года G-WAN понимает HTTP-запросы всех веб-браузеров и много клиентов, как локон, wget, и т.д. Так что это клиента проблема, скорее всего, связано с тривиальной синтаксиса HTTP вопрос comformance (как с отсутствующим Заголовок «Host» с HTTP/1.1).


Поскольку есть очевидные неурядицы в комментариях и в вопросе, вот некоторые разъяснения:

  • Lua и локон клиенты отправляют HTTP запросы к G-WAN, сервер HTTP
  • использования G-WAN -t для регистрации клиентских запросов в файле gwan/trace
  • сравнить запросы на завивки и lua HTTP, зарегистрированные в gwan/trace, чтобы увидеть, что делает Lua неправильно.

Эта процедура позволит вам найти то, что отсутствует в вашем сценарии.

Последнее, что G-WAN не «умереть»: скорее, он отвечает ошибкой HTTP 400 («неверный запрос»).

+0

Разработчик, использующий клиент Lua, сказал, что похоже, что он имел какое-то отношение к запросу, который был chunked ... Попытка заставить его получить код кода рабочего/нерабочего ... –

+0

* * запрос будучи разбитым "*? Только ** HTTP POST и PUT сущности ** могут быть chuncked, но НЕ сам запрос. – Gil

+0

Все еще жду, когда он вернется. Это был его комментарий, я пытаюсь получить то, что он сделал, чтобы проверить, что происходит .... –

0

Необходимо изменить запрос LUA для включения соответствующих заголовков. Разработчик, который сделал это, похоже, упал с лица земли. Будет обновляться, если я когда-нибудь получу от него код.

Смежные вопросы