当前位置: 代码迷 >> PB >> pb10.5中posturl的有关问题(应该是编码有关问题)
  详细解决方案

pb10.5中posturl的有关问题(应该是编码有关问题)

热度:442   发布时间:2016-04-29 09:39:18.0
pb10.5中posturl的问题(应该是编码问题)
我在尝试用PB10.5的PostURL,结果服务器端(Tomcat运行J2EE)接收到的是类似"口p口a口r口=口a口b口c"这样的东西,应该是编码引起的.但对于编码问题似乎Sybase只解决了一半,PostURL是没有Encoding参数的.如果用GetURL就没有这个问题了.如果用PB9也没有这个问题.
下面是我的写法:
string ls_result
integer li_rc
string ls_url
ls_url="http://localhost/action?";
string ls_args="action=ActionTest&par=abc"
Blob lblb_args;
lblb_args=blob(ls_args);
string ls_header;
ls_header="Content-Type:" + "application/x-www-form-urlencoded~n" + "Content-Length:" + String( len(lblb_args) ) + "~n~n";

inet linet_main
n_cst_internet luo_data // internetresult的实例

linet_main = CREATE inet
luo_data = CREATE n_cst_internet
li_rc = linet_main.PostURL(ls_url, lblb_args,ls_header,8083, luo_data);

SetPointer(Arrow!)
ls_result = String(luo_data.iblb_data,EncodingUTF8!) // iblb_data为返回的结果数据
mle_data.text=ls_result

DESTROY luo_data
DESTROY linet_main
//==========================
另注:PB在处理PostURL时候,会把ls_url中以Get发送的参数给Cancel掉(也就是说如果我把参数"action=ActionTest"写到ls_url后面则服务器接收不到),不知道Sybase在搞什么鬼!
本来给分不多,给大家提供个注意事项算做是补尝吧.

------解决方案--------------------
没用过,顶一下!
  相关解决方案