Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http 在Clarion中发布到web_Http_Network Programming_Clarion - Fatal编程技术网

Http 在Clarion中发布到web

Http 在Clarion中发布到web,http,network-programming,clarion,Http,Network Programming,Clarion,我正在为客户端开发一个RESTful API。问题是,他用的是一种相当晦涩的语言,叫做Clarion。它是专有的和封闭的,并且这些文档不能在网上免费获得 每当我们讨论将数据从他的代码传递到我的代码时,他就会开始谈论“ftp文件上传”和直接从服务器到服务器的SQL。不用说,这些想法让人想起了过去糟糕的日子。我在谷歌上做了一些搜索,但我找不到任何证据表明这种语言能够创建HTTP Post请求,更不用说使用SSL加密来保护它们免受窥探 我正在寻找足够具体的建议,以便我能指导他完成交易的目的。我特别希望

我正在为客户端开发一个RESTful API。问题是,他用的是一种相当晦涩的语言,叫做Clarion。它是专有的和封闭的,并且这些文档不能在网上免费获得

每当我们讨论将数据从他的代码传递到我的代码时,他就会开始谈论“ftp文件上传”和直接从服务器到服务器的SQL。不用说,这些想法让人想起了过去糟糕的日子。我在谷歌上做了一些搜索,但我找不到任何证据表明这种语言能够创建HTTP Post请求,更不用说使用SSL加密来保护它们免受窥探

我正在寻找足够具体的建议,以便我能指导他完成交易的目的。我特别希望避免尝试通过FTP将XML请求作为文件传递,或者将它们写入磁盘并调用一些脚本。不用说,但我对在我的服务器上运行专有的clarion服务器代码或DLL也不感兴趣

Clarion是否能够生成POST请求?在Clarion中很难生成XML吗?是否有一种更简单/更易于使用的格式可以让我的客户获得更大的成功?没有一个数据比键/值对更复杂


我用python编写代码,但如果有办法将数据传送到服务器,我可以对任何合理的数据格式进行反序列化。

我不想用这种晦涩难懂的语言来完成更多工作,而是采用您暗示的方法:使用文件系统作为移交机制

让他的代码输出文件到给定的文件夹;然后,让一个用“普通”语言编写的守护进程定期监视该文件夹(cron作业等)。当一个新文件出现时,通过HTTPS/other“normal”方式将其上传到您的其他服务器以完成任务


这种方法遵循“垃圾本地化”的理念——如果你不能摆脱垃圾,至少要确保它的“边界”是明确的

信息想要自由。语言可能是专有的和封闭的,但文档是在线发布的:

看起来像是一种Windows3.1老式报表生成语言,它能够讲DDE/OLE(!),但除此之外似乎没有任何外部通信功能


因此,Clarion无法执行POST请求(除非通过第三方自定义控件/DDE对话)。使用文件系统可能是一种安全的方法:它使客户机处于熟悉的领域,并且是最容易调试的。但是,如果需要双向通信,则可能需要清除手册上的灰尘,并采用DDE路线。这实际上取决于具体的要求(例如,程序是批处理的还是交互式的?),但1158页手册中的第935页(附录A)是开始查找的地方

我感觉到你的痛苦。系统之间的通信可能是一大难题。好消息是Clarion可以使用TCP/IP和XML(只需要一点帮助),所以没有什么可以阻挡Clarion同事的脚步

为了充分披露,我应该指出,我在这里有偏见-我将建议Clarion guy使用我创建的工具-尽管有数千名Clarion程序员在使用这些工具,他们为您的问题提供了答案,所以请原谅我。如果你愿意,可以忽略

在Clarion中,有两个工具可以使TCP/IP通信变得简单,并支持SSL的使用。我做的那个叫做NetTalk()

Clarion box中还提供了XML支持,尽管它不必要的麻烦,所以他至少可以使用两种XML产品——iqXML(免费)和设计为超快速的xFiles()

同时使用NetTalk和xFiles,创建SOAP服务器或客户端是很简单的。(或者你喜欢的普通HTTP服务器和客户端。)有很多人在这样做,所以绝对没有理由使用共享文件或FTP请求。我建议你轻轻地为你的号角朋友指出正确的方向

如果您想让其他Clarion开发人员解答这个问题,请尝试(使用StackOverflow引擎)。在news.softvelocity.com(comp.lang.Clarion和其他网站)上,也有许多程序员在NNTP协议(news)上活动

干杯
Bruce

我很晚才收到这篇文章,因为我今天只设置了堆栈溢出帐户。不过,我想就布鲁斯的回答发表评论

Bruce经营着一家第三方Clarion附加组件制造商公司,并将始终建议使用他们的产品。尽管它们真的很好,但我还是忍不住指出,对于任何需要完成的事情,都有标准的、开放的工具

例如,程序员可以使用“curl”从程序与web服务器通信。不仅是号角节目,而且是任何节目。除此之外,Clarion确实可以访问所有的Windows API,这只是编写代码的问题,因此,套接字、http、mci以及任何程序员都可以访问的东西

需要从显然无法访问smtp功能的程序发送电子邮件吗?使用“Blat”!-blat.net

想从网站下载一些文件吗?wget-gnu.org/software/wget

这些都是命令行界面。我建议那些不知道“接口”是什么意思的人去看看免费的字典-tfd.com/interface


关于

这在这里真的不是一个选项。我无法控制安装过程,因此无法让安装过程变得更加复杂。信息可能是免费的,但该手册适用于版本6,而不是版本7,并且已经有6年的历史了。我认为第7版有更多的功能,但我没有相关的文档。这里有一点,只是为了纠正一些可能的误解。Clarion是一种面向业务的语言,具有强大的WRT读写数据功能,因此不仅仅是一种生成报告的语言。这种语言起源于DOS,大约在1984年Windows版本发布时