公司项目中,第三方发来个说明,说是要通过打开url连接地址的方式,将参数传给对方的平台,参数的封装采用Json格式,

百度了一通,看了网友们的方法,发现pb中有个inet控件可以实现功能,我开始想,应该是将参数传给对方以后,对方同

样将返回值以json的格式传给我们,所以,用户不需要看到url打开的页面,所以需要使用的是GetURL方法,并获取返回值,

于是有了以下的方法

/*先建立一个nuo_cst_internet.sru对象,来获取返回值*/
forward
global type nuo_cst_internet from internetresult
end type
end forward

global type nuo_cst_internet from internetresult
end type
global nuo_cst_internet nuo_cst_internet

type variables
string is_data
end variables

forward prototypes
public function integer internetdata (blob data)
end prototypes

public function integer internetdata (blob data);is_data = string(data)
return 1
end function

on nuo_cst_internet.create
call super::create
TriggerEvent( this, "constructor" )
end on

on nuo_cst_internet.destroy
TriggerEvent( this, "destructor" )
call super::destroy
end on

以GetURL方法调用url地址

/*uf_get_url
string as_url //封装好的url地址
return string
*/
string ls_result
integer li_rc 
inet linet_main
nuo_cst_internet luo_data 
linet_main = CREATE inet
luo_data = CREATE nuo_cst_internet
li_rc = linet_main.GetURL(as_url, luo_data)
ls_result = luo_data.is_data

DESTROY luo_data
DESTROY linet_main

RETURN ls_result 

后来发现,对方传过来的也是一个网页,然后还需在这个页面的做提交,于是最后采用了HyperLinkToURL方法,于是不用获取返回值了

string ls_result
integer li_rc
inet linet_main
linet_main = CREATE inet
li_rc = linet_main.HyperLinkToURL(as_url)
RETURN li_rc