httpfile()

阅读(486) 标签: url, 返回结果, 封装成文件流,

描述:

url的返回结果封装成文件流返回

语法:

httpfile(url:cs,post:cs)

备注:

HTTP服务的url串的返回结果封装成文件流返回,只读且不能分段读取。

参数:

url

HTTP服务的url串格式

使用集算器的http服务时,url的写法如下:

http://IP:port /dfx1.dfx()

http://IP:port /dfx1.dfx(arg1,arg2,...)

http://IP:port/dfx1.dfx(...)dfx2.dfx

portHTTP服务中配置的端口号。dfx路径相对于【工具】-【选项】-【环境】中配置的主目录

HTTP服务的url串格式,分两种情况:

1、只有一个dfx文件。如果dfx有参数,则在括号里依次写参数值,参数值间用逗号分隔;如果没有参数,则参数为空。此时dfx里的返回值已经是用户所需要的格式。

2、有两个dfx。这种情况用于用户想要的返回值的格式与dfx1的返回值的格式不同,从而使用dfx2dfx1的返回值改为自己需要的格式。dfx1的写法与第1种情况中的dfx相同,但是此处的dfx1仅支持单结果集。dfx2为单参数的程序,参数值为dfx1的返回值。

dfx2中可以将dfx1的返回值转换成自己需要的格式,然后作为dfx2的返回值。例如:dfx1中缺省返回的序表字段间是以"|"分隔,如果想以空格分隔则可以使用dfx2dfx1的结果处理下,使得序表字段间以空格分隔。

注:当dfx中用到数据库中的数据时,需要在raqsoftconfig.xml中对应的DB节点中配置autoConnect的属性值为true,否则无法连接数据库

cs

字符集,支持的字符集是jvm自带的字符集。缺省则为虚拟机默认值。

post

POST方式上传的参数,形如p1=v1&p2=v2。可以省略。

返回值:

文件流

示例:

 

A

 

1

=httpfile("http://localhost:9090/p1.dfx()":"GBK").import@t()

p1.dfx内容如下:

加载http服务上的文件p1.dfx,字符集为GBK

2

=httpfile("http://localhost:9090/p2.dfx(3)":"GBK").import@t()

p2.dfx内容如下:StuId为参数

3p2.dfx的参数值

3

=httpfile("http://localhost:9090/p3.dfx(3Class%20two)":"GBK").import@t()

p3.dfx内容如下:StuIdClass为参数

多参数时以逗号分隔

4

=httpfile("http://localhost:9090/http2.dfx(30)").import@t()

http2.dfx内容如下:id为参数

5

=httpfile("http://127.0.0.1:9090/http2.dfx(30)http3.dfx").import@t()

http3.dfx内容如下:

使用http3.dfxhttp2.dfx的结果进一步处理。

6

=httpfile("http://192.168.0.131:6080/myweb/servlet/testServlet?table

=employee&type=json")

testServlet可以返回json格式的员工信息字符串

7

=httpfile("http://localhost:6080/myweb/servlet/testServlet":"GBK"

,"table=employee&type=json":"GBK")