读书人

pb postURL有关问题

发布时间: 2013-08-14 14:27:55 作者: rapoo

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,需要加端口

你试一下吧

读书人网 >PB

热点推荐