描述:
将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 port为HTTP服务中配置的端口号。dfx路径相对于【工具】-【选项】-【环境】中配置的主目录。 HTTP服务的url串格式,分两种情况: 1、只有一个dfx文件。如果dfx有参数,则在括号里依次写参数值,参数值间用逗号分隔;如果没有参数,则参数为空。此时dfx里的返回值已经是用户所需要的格式。 2、有两个dfx。这种情况用于用户想要的返回值的格式与dfx1的返回值的格式不同,从而使用dfx2把dfx1的返回值改为自己需要的格式。dfx1的写法与第1种情况中的dfx相同,但是此处的dfx1仅支持单结果集。dfx2为单参数的程序,参数值为dfx1的返回值。 在dfx2中可以将dfx1的返回值转换成自己需要的格式,然后作为dfx2的返回值。例如:dfx1中缺省返回的序表字段间是以"|"分隔,如果想以空格分隔则可以使用dfx2对dfx1的结果处理下,使得序表字段间以空格分隔。 注:当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为参数 3为p2.dfx的参数值 |
3 |
=httpfile("http://localhost:9090/p3.dfx(3,Class%20two)":"GBK").import@t() |
p3.dfx内容如下:StuId,Class为参数 多参数时以逗号分隔 |
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.dfx对http2.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") |
|