首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Clarion获取/发布

使用Clarion获取/发布
EN

Stack Overflow用户
提问于 2017-07-22 22:06:08
回答 1查看 1.1K关注 0票数 2

我有Clarion 9应用程序,我希望能够与HTTP服务器通信。我来自PHP背景。我不知道该怎么做。

我想要做的是:

  • 解析JSON数据并将队列数据转换为JSON完成
  • 有一个像'baseURL‘这样的全局变量,它指向例如http://localhost.com Done
  • 这样的调用函数apiConnection.get('/users')将返回页面的内容。我被困在这里
  • apiConnection.post('/users', myQueueData)会发布myQueueData内容。

我尝试通过从winhttp.dll中读取它来使用LibMaker,但它没有阅读它。相反,我现在使用的是wininet.dll,LibMaker成功地为它创建了一个.lib文件。

我目前正在使用GitHub https://gist.github.com/ddur/34033ed1392cdce1253c上这段代码的原型过程

我所做的就是把它们包括在内:

SimpleApi.clw

代码语言:javascript
复制
PROGRAM
     INCLUDE('winInet.equ')
      ApiLog    QUEUE, PRE(log)
      LogTitle  STRING(10)
      LogMessage    STRING(50)
     END

     MAP
      INCLUDE('winInetMap.clw')
     END

     INCLUDE('equates.clw'),ONCE 
     INCLUDE('DreamyConnection.inc'),ONCE

     ApiConnection     DreamyConnection

CODE

    IF DreamyConnection.initiateConnection('http://localhost')
       ELSE
          log:LogTitle = 'Info'
          log:LogMessage = 'Failed'
          ADD(apiLog)
    END

但是winInet使用的缓冲区总是返回0。

我已经创建了一个GitHub存储库https://github.com/spacemudd/clarion-api,其中包含所有要查看的代码。

我真的迷上了这个,因为我找不到克拉里恩的适当文档。

I不想要付费解决方案

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-24 11:38:01

这在一定程度上取决于你有哪种版本的克拉里安。从v9开始,他们添加了ClaRunExt,它通过.NET互操作提供这种功能。

从帮助中:

使用HTTP或HTTPS下载网页或任何其他类型的文件。您还可以将表单数据发布到web服务器。向Web服务器、REST Web服务或标准Web服务发送HTTP web请求(并接收响应)非常简单,最常用的HTTP谓词是POST、GET、PUT和DELETE。

否则,在LibSrc\目录中搜索"http“,您将了解已经存在的内容。例如,abapi.inc似乎为wininet.lib提供了一个包装器。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45259654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档