• 主页
  • API 调用
  • 基础类
  • 控件与界面
  • 数据库相关
  • DataWindow
  • 项目管理
  • Web 应用
  • 脚本语言
pjjia 2015年08月05日
posturl提交json数据给服务器,搞了两天了,服务器返回data错误
需要向服务器提交json数据,使用pb的inet和InternetResult对象,
blob lblb_postdata,lb_utf8r,lb_returndata//
string ls_time,ls_round,ls_data,ls_content,ls_url,ls_headers,ls_returndata,ls_senddata
Long ll_length
int il_return
n_intrst ir_msgbox //InternetResult对象
inet iinet_base
ls_time = string(today(),'yyyymmdd')+string(now(),'hhmmss')
ls_round = string(rand(30000))
ls_data = "id=11107&msid="+is_msid+"&nonce="+ls_round+"&signtype=sha1&state=1×tamp="+ls_time
setnull(lb_utf8R)
lb_utf8R =lnv_encode.of_str2utf8(ls_data+','+is_apikey)//签名
IF lnv_hash.of_SHA1(lb_utf8R,ls_content) Then

Else
messagebox('提示','sha1错误')
End IF
il_return = GetContextService("Internet", iinet_base)
if il_return = 1 then
ir_msgbox = CREATE n_intrst
ls_url = "http://api.dc78.cn/Api/cash_post_bill?"+ls_data+"&msg_sign="+ls_content
ls_senddata = "data:{"+'"result": 1,"id": "201411270006","bill": [{"qty": "11","amt": "33","name": "农夫山泉","desc": "瓶/001","price": "3" }]}'
mle_1.text = ls_url
lblb_postdata = lnv_encode.of_str2utf8(ls_senddata)
ll_length = Len(lblb_postdata)

ls_headers = "Content-Type: " + &
"application/x-www-form-urlencoded" + &
"Content-Length: " + String( ll_length ) + "~n~n"
il_return = iinet_base.PostURL(ls_url,lblb_postdata, ls_headers,ir_msgbox)
lb_returndata = ir_msgbox.ib_data
ls_returndata = lnv_encode.of_utf8togbk(lb_returndata)
messagebox(string(il_return),ls_returndata)
destroy ir_msgbox
end if
提交时显示分店号错误,如果将url直接复制到浏览器中得到的是data错误,现在问题是如何提交json数据还有就是如何post图片或者文本文件,坐等指点
...全文
1233 点赞 收藏 11
写回复
11 条回复

还没有回复,快来抢沙发~

发动态
发帖子
PowerBuilder
创建于2007-09-28

591

社区成员

6.6w+

社区内容

PowerBuilder 相关问题讨论
社区公告
暂无公告