在做设备软件的时候,需要调用我司服务器的数据,就是用远程接口调用。
这里没有直接用socket,网上的一些案例只是简单地额实现。在实际开发中,经常是url路径的整体调用。此时对于那些有参数的传递的url,在ie上可以调用远程接口,但是在程序中 就返回505错误,即不支持此协议。开始以为是程序问题,还换了HttpClient类进行调用,还是会出现505问题。最后发现是url路径空格问题,url中传递了一个时间,年月日与时分秒之间有空格,就错在这里,http1.1协议不支持。必须将空格换位%20,才行。换了后就可以了。在网上查询了,还有一种说法是url路径过长。最后发现不是这个问题。
现在写上完成远程接口调用代码:
// 向远程调用接口
public static String connect(String httpUrl) {
String result="";
try {
URL url = new URL(httpUrl.toString());
StringBuffer document = new StringBuffer();
HttpURLConnection httpconn = (HttpURLConnection) url.openConnection();
httpconn.setRequestProperty("accept", "*/*");
httpconn.setRequestProperty("connection", "Keep-Alive");
httpconn.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
//建立实际的连接
httpconn.connect();
//获取所有响应头字段
Map< String,List< String>> map = httpconn.getHeaderFields();
//遍历所有的响应头字段
for (String key : map.keySet()){
System.out.println(key + "--->" + map.get(key));
}
InputStream input = null;
try{
httpconn.connect();
System.out.println(httpconn.getResponseCode());
input = httpconn.getInputStream();
}catch(Exception e){
e.printStackTrace();
}
System.out.println(input);
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
String Result = "";
while ((Result = reader.readLine()) != null) {
document.append(Result);
}
result = document.toString();
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
注意:1 这里传递的是整个url
2 程序中还打印出实现远程接口调用的需要的协议。
分享到:
相关推荐
综上所述,"javaswing版本远程控制"涉及了Java桌面应用开发、网络通信、远程操作以及版本管理等多个IT领域的知识,需要开发者具备扎实的Java基础,熟悉网络编程和远程控制原理,并能灵活运用各种工具和技术来实现...
Java Swing远程屏幕监控系统是一种利用Java编程语言开发的桌面应用程序,它允许用户远程监控其他计算机的屏幕活动。这个系统通常由客户端和服务器端两部分组成,客户端安装在被监控的机器上,而服务器端则接收并显示...
在“Java Swing漂亮界面 超酷 JavaSwing教程”中,我们主要会探讨如何利用Swing来设计美观且用户友好的界面。Swing组件的一大优点是它们是轻量级的,这意味着它们完全由Java代码实现,而不是依赖于操作系统提供的...
在Java Swing应用中调用WebServices,可以实现从桌面应用获取远程数据或服务的功能。这通常涉及以下步骤: 1. 创建一个客户端代理类,该类将调用WebService的方法。这可以通过WSDL(Web Services Description ...
这通常涉及到网络连接的建立和管理,可能使用Java的Socket编程或者更高层次的API如Java RMI(远程方法调用)。 2. **屏幕共享**:远程协助的核心功能是实时分享屏幕。开发者可能使用Java的图像处理类(如...
【Java Swing FTP客户端程序】是一种基于Java编程语言的图形用户界面(GUI)工具,用于实现文件传输协议(FTP)。在本文中,我们将深入探讨如何利用Java Swing构建一个FTP客户端,以及涉及的关键技术和概念。 首先...
在"java-remote-control"这个压缩包中,可能包含了实现上述步骤的源代码示例,包括远程接口定义、服务器端对象实现、客户端调用逻辑等。通过学习这些示例,你可以更深入地理解Java如何实现远程控制功能,并可以参考...
JNA允许JAVA程序直接调用C/C++级别的函数,而JNI则需要编写C/C++的本地方法库,然后在JAVA中通过接口调用。对于海康威视的SDK,推荐使用JNA,因为它的使用更为简单且无需编译原生代码。 预览功能的实现主要包括以下...
Java Swing 是一个用于构建桌面应用程序的 Java 库,它是 Java Foundation Classes (JFC) 的一部分。Swing 提供了一系列组件,使得开发者可以创建具有丰富图形用户界面 (GUI) 的应用程序,包括窗口、按钮、文本框等...
Java远程桌面控制是一种技术,允许用户通过网络连接到另一台计算机并进行实时的屏幕查看、键盘输入和鼠标操作。在Java中实现这种功能通常涉及到网络编程、多线程以及图形用户界面(GUI)的设计。本篇文章将深入探讨...
4. **远程方法调用(RMI)**:Java的RMI(Remote Method Invocation)机制可以进一步简化远程对象间的交互。通过RMI,Client可以像调用本地方法一样调用Server上的方法,实现更高级别的远程控制。 5. **安全性**:...
Java Swing选课管理系统是一款基于Java GUI技术开发的教育管理软件,主要用于实现学生的选课操作,同时也支持管理员对课程数据的管理。系统的核心功能包括学生选课、退课、查询课程信息以及管理员对课程数据的增删改...
总的来说,Java远程控制涉及到Java Swing的界面设计、RMI的远程方法调用、Socket的网络通信以及安全策略的实施。通过学习和实践这些技术,开发者可以构建出强大的跨平台远程控制应用。在这个过程中,理解和掌握Java...
要实现RMI,我们需要定义远程接口,创建实现该接口的远程对象,然后注册这个对象到RMI注册表,最后客户端可以通过引用这个注册表中的对象来调用远程方法。RMI在远程协助模块中扮演关键角色,因为它使得控制命令可以...
开发者可能使用Socket编程或者RMI(远程方法调用)来实现客户端和服务端之间的通信,确保数据的一致性和实时性。 5. **数据库存储**:为了持久化保存用户信息和消费记录,开发者可能会选择使用SQL数据库(如MySQL、...
Java的RMI是实现远程对象交互的基础,它允许一个Java对象调用在网络另一端的Java对象的方法。在远程控制场景中,可以创建一个服务器端的远程接口,定义控制屏幕的相关方法,如获取屏幕截图、发送键盘输入等,然后在...
在实际的双人猜拳游戏中,如果涉及到网络对战,可能还需要使用Java的Socket编程或者更高层次的API,如Java RMI(远程方法调用)来实现玩家间的通信。 6. **GUI布局管理**: Swing提供了多种布局管理器,如FlowLayout...
1. Java RMI(Remote Method Invocation):Java远程方法调用是实现CS通信的核心技术,它允许对象在不同的JVM之间透明地调用方法,实现了客户端与服务器端的无缝连接。 2. Socket编程:Java的Socket类提供了网络...
1. **设计远程接口**:在Java中,远程对象需要实现`java.rmi.Remote`接口,并声明所有远程方法抛出`java.rmi.RemoteException`。这些接口定义了客户端可以调用的远程操作。 2. **实现远程对象**:创建实现了远程...
1. **Java RMI(Remote Method Invocation)**:Java RMI是Java提供的一种机制,它允许一个对象调用远程计算机上的方法,就像调用本地方法一样。在远程控制程序中,RMI扮演关键角色,使得客户端可以调用服务器端的...