首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

pb postURL有关问题

2013-08-14 
pb postURL问题内网路径:ls_URLhttp://192.168.10.87/BWLICPHP/Api.php外网路径:ls_URLhttp://58.216

pb postURL问题
内网路径:ls_URL='http://192.168.10.87/BWLICPHP/Api.php'  
外网路径:ls_URL='http://58.216.209.106:5559/BWLICPHP/Api.php'
路由器58.216.209.106:5559端口映射到192.168.10.87:80上了
调用时如果是在局域网里面就正常,如果使用外网地址那么就报如下错误
pb postURL有关问题

另外直接用网页打开外网地址是正常的
//代码如下============================
String ls_User,ls_PS,ls_Str,ls_headers 
String ls_URL,ls_Arg,ls_Ret
Blob lblb_args
Int li_rc,li_Ret
Long ll_Length
inet iinet 

ls_URL='http://192.168.10.87/BWLICPHP/Api.php'  
ls_Arg='Cmd='+as_Cmd+'&Parm='+as_Parm

n_ir_msgbox iir_msgbox 
iir_msgbox = CREATE n_ir_msgbox 

li_rc = GetContextService( "Internet", iinet ) 
if li_rc<>1 then  
as_Err='创建Internet服务失败'
Goto Err
End IF
  
iinet = create inet   
lblb_args=Blob(ls_Arg)
ll_length = Len(lblb_args) 
ls_headers = "Content-Type: " + "application/x-www-form-urlencoded~n" + "Content-Length: " + String( ll_length ) + "~n~n" 

li_rc = iinet.PostURL(ls_url,lblb_args,ls_headers,iir_msgbox) 

IF li_rc <> 1 THEN 
as_Err='网络请求错误'
Goto Err
End IF


ls_Ret =String(iir_msgbox.lb_data)
Messagebox(String(li_RC),ls_Ret)
li_Ret=Integer(UF_Core_DataColumn(ls_Ret,ls_Ret))
as_Err=ls_Ret


Return li_Ret
Err:
Return 1 postURL pb9
[解决办法]
虽然帮你解决不了问题,但是还是帮你顶,另外代码收藏了。
[解决办法]
你的错误内容为:

您的客户端已发出一个格式不正确或非法的请求
[解决办法]
代码修改为以下
String ls_User,ls_PS,ls_Str,ls_headers 
String ls_URL,ls_Arg,ls_Ret
Blob lblb_args
Int li_rc,li_Ret
Long ll_Length
inet iinet 

string as_cmd = ""
string as_parm = ""
string as_err



ls_URL='http://192.168.10.87/BWLICPHP/Api.php'  

ls_URL='http://58.216.209.106/BWLICPHP/Api.php'
ls_Arg='Cmd='+as_Cmd+'&Parm='+as_Parm

li_rc = GetContextService( "Internet", iinet ) 
if li_rc<>1 then  
as_Err='创建Internet服务失败'
Goto Err
End IF
  
iinet = create inet   
lblb_args=Blob(ls_Arg)
ll_length = Len(lblb_args) 
ls_headers = "Content-Type: " + "application/x-www-form-urlencoded~n" + "Content-Length: " + String( ll_length ) + "~n~n" 

li_rc = iinet.PostURL(ls_url,lblb_args,ls_headers, 5559, iir_msgbox) 

IF li_rc <> 1 THEN 
as_Err='网络请求错误'
Goto Err
End IF


ls_Ret =String(iir_msgbox.lb_data)
mle_1.text = ls_ret
Messagebox(String(li_RC),ls_Ret)
//li_Ret=Integer(UF_Core_DataColumn(ls_Ret,ls_Ret))
as_Err=ls_Ret


Return li_Ret
Err:
Return 1

pb postURL有关问题
[解决办法]
执行结果成功

pb postURL有关问题

主要是你的网址不对,还有posturl,需要加端口

你试一下吧

热点排行