首页 > 代码库 > [RBA开发系列一] 建立http 请求的process

[RBA开发系列一] 建立http 请求的process

前言

在RBA 中, 建立一个http 的request 很简单。

其提供了四种类型的 http process

单个的Get 和Post 的实现都很简单, 但是有的时候会出现一种状况就是, 有的站点需要先登录在进行其他的操作。

登录的方式有两种

1. get 方式登录就不必说了, 直接在 http link 后面加上对应的登录信息. 一次执行就可以了

2. post 的登录方式的话, 就存在一个session 的问题了。


呼叫http get 请求

呼叫一个http get 的请求很简单, 在开发的模组下面新建一个process.

两个节点

以上Get 使用的就是系统默认提供的Http Get, url 参数是必填的

注意要配置相应的Adapter, url 的参数是必填的。

配置完成之后,在studio 中, 点击 运行就可以测试了




呼叫http post请求

http post  的处理方式和get 方式是类似的,只是post 的必填栏位会多一个 data . 这里面就是保存需要post 的值了

data 的格式可以是xml 的, 遵循一定的规律。具体如何写可以参考开发文档。


需要传递session 的状况

首先举例一种状况:

有一个http 的 get link , 执行这个link  需要先登录这个site.

正常的想法是配置两个节点

第一个是一个post进行登录 , 第二个是get link

但实际的状况是,虽然执行了第一个post  登录, 第二个还是报没有权限的问题。

原因是相关的http  session 并没有进行保存和传递。


看一下 get 返回的response 的内容

执行 get 之后,除了 message-body 里面的html 的内容外, session 的信息也会返回回来。

所以是否把这个session 保存下来进行传递是否可以?



process 配置如上。

在 Assign Session id 这一关设置 JESSIONID 这个变量

在 Post login 这一关

配置connection properties

内容配置如下:


最后一个get link 也做同样的配置。

运行一下, 一切正常


补充

有的时候 http 中可能传递类似如下的目录信息
path=\\aaa\bb

带有反斜线

反斜线在 RBA 中特别敏感, 需要做转义, 类似以上可以转成

%5C%5Caaa%5Cbb

至于问什么要转成 %5C , 可以在 js 中执行一下就知道了

document.write(encodeURI("\\")) ;


[RBA开发系列一] 建立http 请求的process