我在開發一個軟體,其中需要呼叫一個URL (HTTP://10.1.1.12:8012/aaa.aspx?cardid=111&pname=2222)
其中需要在pb中向這個url傳遞2個引數,一個是cardid,一個是pname,請問如何實作
uj5u.com熱心網友回復:
用PBCOMMANDPARM來傳值吧。uj5u.com熱心網友回復:
用posturlPB PostURL()
PostURL()
功能執行HTTP Post,這樣PowerBuilder應用程式就可以通過CGI、NSAPI、ISAPI介面發送請求。
語法servicereference.PostURL ( urlname, urldata, headers, data )
引數
servicereference:Inet物件實體或參考
urlname:String型別,指定要發送請求的URL(統一資源定位器)
urldata:Blob型別,指定發送給urlname引數指定的URL的引數
headers:String型別,指定HTML首部。對Netscape瀏覽器來說,每個HTTP首部之后需要個換行符(~n),在所有首部之后再跟一個換行符(~n)
data:InternetResult實體變數,用于保存回傳的HTML
回傳值
Integer。函式執行成功時回傳1,發生錯誤時回傳下述值:
-1一般錯誤
-2指定的URL無效
-4不能連接到Internet上
-6Internet請求無效
用法
該函式的data引數要求是繼承了InternetResult物件的類用戶物件實體,在該用戶物件的定義中,需要定義覆寫函式InternetData(),用于處理Internet回傳的HTML資料。由于Internet以異步方式傳送資料,因此,data引數必須是某個實體變數或全域變數的參考(例如視窗級實體變數)。
示例 下面的代碼呼叫PostURL()。其中,Iinet_base是個Inet型別的實體變數;n_ir_msgbox是繼承了InternetResult物件的類用戶物件,iir_msgbox是該用戶物件的一個實體:
Blob lblb_args
String ls_headers
String ls_url
Long ll_length
ir_msgbox = CREATE n_ir_msgbox
ls_url = "http://coltrane.sybase.com/ "
ls_url += "cgi-bin/pbcgi60.exe/ "
ls_url += "myapp/n_cst_html/f_test? "
lblb_args = blob( " ")
ll_length = Len(lblb_args)
ls_headers = "Content-Length: " + String(ll_length) + "~n~n "
iinet_base.PostURL(ls_url, lblb_args, ls_headers, iir_msgbox)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/49750.html
標籤:Web 應用
