我有这段代码 (InDesign CS6),但它没有按预期工作。我使用的是 Mac 操作系统,我需要使代码与 Windows 和 Mac 兼容。
尝试通过我的本地主机获取文本/JSON,套接字返回一个空字符串:-
function getData(host, path) {
var reply = '';
var conn = new Socket;
var request = "GET " + path + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "\n";
if (conn.open (host)) {
conn.write (request);
reply = conn.read(999999);
var close = conn.close();
}
return reply;
}
var host = 'localhost:80';
var path = '/test/test/json.php';
var test = getData(host, path);
alert(typeof(test) + ' Length:' + test.length);
编辑:最后我设法找出导致问题的原因。我创建了一个 VMware,并尝试运行该脚本,它正在运行。不确定为什么它在我的机器上不起作用。下载 Wireshark,并看到 InDesign 发送了请求,但某些东西阻止了请求访问服务器。如果我能够检测到导致阻塞的原因,我会进行更新。
最佳答案
说到Socket,我想最简单的就是利用Rorohiko写的那个脚本: https://rorohiko.blogspot.fr/2013/01/geturlsjsx.html
或者尝试使用 IDExtenso 库: https://github.com/indiscripts/IdExtenso
我发现它们很方便,因为它们可以为您处理内部套接字机制。
关于javascript - InDesign CS6 套接字返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45228260/