Rumah >Java >javaTutorial >分享URLConnection调用接口实例
这篇文章主要介绍了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++
Atas ialah kandungan terperinci 分享URLConnection调用接口实例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!