我正在尝试通过 BridgeTalk 使用 Socket 连接从 Adobe Illustrator 脚本(尽管这个问题与 JSX 无关)向本地 Rails 应用程序发出 HTTP 请求(如您所见 — 很多可能会出错;) )。
终于设法通过了一个请求,但是 Rails 应用程序抛出了一个错误:
ERROR bad Request-Line `GET /test.json HTTP/1.1'.
目前没有发送特殊的标头——设置非常简单:
var connection = new Socket;
var response = '';
var host = '127.0.0.1:3000';
var path = '/test.json';
var method = 'GET';
var request = method + " " + path + " HTTP/1.1";
if (connection.open(host)) {
connection.write(request);
response = connection.read(999999);
} else {
$.writeln('Socket connection failed.');
}
connection.close();
我假设请求格式不正确,但我不确定会发生什么。
Rails 应用程序在 WEBrick 上运行。
任何关于 Rails 期望的帮助或提示,将不胜感激。
更新
WEBrick 似乎希望在请求行的末尾有一个回车:\r\n
.
不幸的是,我正在使用 BridgeTalk 在 Bridge 中执行一段代码,这需要我使用uneval()
或toSource()
在上面提到的功能上。这些似乎逃避反斜杠,转换
GET /test.json HTTP/1.1\r\n
进入
GET /test.json HTTP/1.1\\r\\n
导致同样的错误。
有任何想法吗?