posturl提交json数据给服务器,搞了两天了,服务器返回data错误
pjjia 2015-08-05 03:39:15 需要向服务器提交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图片或者文本文件,坐等指点