pb8使用posturl函数问题
问题描述:
pb8使用posturl函数问题,返回值为message的乱码,如何解决啊,愁死了,在线等,多谢了
答
用adosteam
http://bbs.csdn.net/topics/390821971
integer li_rtn
OLEObject ole_ADOStream
ole_ADOStream = CREATE OLEObject
li_rtn = ole_ADOStream.ConnectToNewObject("ADODB.Stream")
ole_ADOStream.Type = 1 //二进制数据Binary
ole_ADOStream.Mode =3 //具有读/写权限
ole_ADOStream.Open()
ole_ADOStream.LoadFromFile("c:\1.txt")
ole_ADOStream.Position = 0 //Position为0才能设置Charset
ole_ADOStream.Type = 2 //文本数据
ole_ADOStream.Charset = "UTF-8"
ole_ADOStream.SaveToFile("c:\2.txt",2)
ole_ADOStream.Close()
destroy ole_ADOStream
答
如果返回的utf-8格式的,需要转换格式,可以通过adostream进行转换,以下为posturl的用法
Blob lblb_args
String ls_headers
String ls_url
String ls_args
long ll_length
integer li_rc
li_rc = GetContextService( "Internet", iinet_base )
IF li_rc = 1 THEN
ir = CREATE n_ir
ls_url = "http://localhost/Site/testurl.stm?"
ls_args = "user=MyName&pwd=MyPasswd"
lblb_args = Blob( ls_args )
ll_length = Len( lblb_args )
ls_header = "Content-Type: " + &
"application/x-www-form-urlencoded~n" + &
"Content-Length: " + String( ll_length ) + "~n~n"
li_rc = iinet_base.PostURL( ls_url, lblb_args, &
ls_header, ir )
END IF