我試圖通過BridgeTalk向使用Socket連接的本地Rails應用程序發出來自Adobe Illustrator腳本的HTTP請求(此問題實際上與JSX不相關)正如你所看到的 - 可能會出錯的很多;))。HTTP:「ERROR bad request-Line」
終於設法打通一個請求,但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
導致同樣的錯誤。
任何想法?
我被掛了這一段時間,如果您打開連接爲「BINARY」,「connection.open(host,」BINARY「)」,則可以避開URL編碼的字符串。從工具指南: 'CRLF序列轉換爲LF,除非編碼設置爲BINARY。' – spencewah
謝謝!如果我有機會,我會盡力去做。 – polarblau