這篇文章主要介紹了Java的後台調用HttpURLConnection的類別模擬瀏覽器請求實例,該實例可用於介面調用,具有一定的實用價值,需要的朋友可以參考下
一般在專案開發中難免遇到外部介面的調用,本文實例講述了Java的。後台呼叫HttpURLConnection的類別模擬瀏覽器請求的方法可用來介面呼叫分享給大家供大家參考
寫在前面:
專案是java web,jdk1.4,weblogic 7;對方.net系統,用wcf開發的介面。對方提供介面url位址,以及說明用post方式去調用,無需傳遞參數,直接返回json array(json數組格式的資料)
調用介面的方法有很多中,框架調用,ajax調用,urlConnection等等.由於專案需要,需要遠端呼叫對方.net系統的接口,其接口是用wcf開發的,然後我們這邊的系統是java,並且jdk是1.4,所以主流的一些框架調用已經用不了了,一般要jdk1.6以上才可以。說到這裡,axis是可以適用於jdk1.4的,但是當採用客戶端生成代碼的方式的時候,我生成的類有缺少,不知道為啥,果斷放棄;然後由於是跨域調用接口(也就是雙方的系統不在一個伺服器裡面),並且需要post方式去訪問,故ajax的方式也不行,因為ajax不支援跨域,當然利用jsonp是可以跨域的,但是它是採用get方式訪問的。在掙扎嘗試了兩三天后,求助貼吧大神,大神跟我語音,讓我用httpurlconnection的方式去訪問,也就是URLConnection調用接口。之後,我又拿出了傳智播客的webservice的視訊筆記,上面也有提及到採用URLConnection呼叫接口,於是我就打算試試。成功啦......真強大哈。 。 。 (貌似這種方式可以適用於各種介面的呼叫,也可以呼叫webservice,大家都可以試一試,遇到問題不要怕,啊哈哈哈。。。。)
1.準備工作:
對於URLConnection呼叫介面貌似不需要導入任何相關的jar包,這個要根據項目來定。這裡回傳的是json數組的字串,所以這裡我要用到json相關的jar來進行取得。導入json的jar包就可以了。
程式碼:可以自己先寫一個main java程式來連接測試一下,然後再放到特定的項目上去進行呼叫。
URL url = URL("http://10.10.10.83/GetProjectNameService/GetProjectNameService.svc/getProjectName"URLConnection conn =HttpURLConnection httpConn =System.setProperty("sun.net.client.defaultConnectTimeout", "30000""sun.net.client.defaultReadTimeout", "30000"httpConn.setDoInput(httpConn.setUseCaches(httpConn.setRequestMethod("POST"OutputStream out =ObjectOutputStream objOut = String(""InputStream in =StringBuffer sb = = = ""(httpConn.getResponseCode() == 200BufferedReader reader = BufferedReader( InputStreamReader(in,"UTF-8"= ((line = reader.readLine()) != ="返回结果:"+jarr = ( i=0;i<jarr.length();i++
以上是分享URLConnection呼叫介面實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!