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上了
调用时如果是在局域网里面就正常,如果使用外网地址那么就报如下错误
另外直接用网页打开外网地址是正常的
//代码如下============================
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
[解决办法]
执行结果成功
主要是你的网址不对,还有posturl,需要加端口
你试一下吧