将ArrayList从Java传递到PHP Web服务
我有一个java程序,它包含一个用户名和密码(字符串)以及一个包含4个属性(long、int、int-int)的对象的ArrayList,我想将这3个属性传递给一个WebService(我还没有做)。我的主机是Bluehost,它是一个共享服务器,所以我没有可用的Java服务器端,它需要在PHP中 连接到webservice并将其传递到php的最佳方式是什么 编辑 好的,我现在有这样的东西:将ArrayList从Java传递到PHP Web服务,java,php,web-services,Java,Php,Web Services,我有一个java程序,它包含一个用户名和密码(字符串)以及一个包含4个属性(long、int、int-int)的对象的ArrayList,我想将这3个属性传递给一个WebService(我还没有做)。我的主机是Bluehost,它是一个共享服务器,所以我没有可用的Java服务器端,它需要在PHP中 连接到webservice并将其传递到php的最佳方式是什么 编辑 好的,我现在有这样的东西: public void upload(ArrayList<MyObject> myList)
public void upload(ArrayList<MyObject> myList) throws Exception{
//HTTP POST Service
try{
HttpClient httpclient = HttpClientBuilder.create().build();
URI uri = new URIBuilder()
.setScheme("http")
.setHost("www.myHost.com")
.setPath("/myWebservice.php")
.setUserInfo(userID, password)
.build();
HttpPost httppost = new HttpPost(uri);
httpclient.execute(httppost);
}catch (Exception e) {
e.printStackTrace();
}
}
public void upload(ArrayList myList)引发异常{
//HTTP邮政服务
试一试{
HttpClient HttpClient=HttpClientBuilder.create().build();
URI=新的URIBuilder()
.setScheme(“http”)
.setHost(“www.myHost.com”)
.setPath(“/myWebservice.php”)
.setUserInfo(用户ID、密码)
.build();
HttpPost HttpPost=新的HttpPost(uri);
httpclient.execute(httppost);
}捕获(例外e){
e、 printStackTrace();
}
}
但我仍然不确定如何通过某种方式传递ArrayList,以便能够在PHP端接收并将其拆分为组件?您可以使用HTTP客户端,例如此客户端
并向您的web服务发送GET/POST请求。编写java程序我让java程序包含所有变量-我只是不确定现在如何将它们传递到外部php webservice@db579那么,数据应该如何发送呢?这项服务期望得到什么?JSON?表单编码?查询字符串?肥皂?获取/发布?其他?这就是我真正的问题所在-服务应该期望什么,Java程序应该如何通过它。做这件事最简单/最好的方法是什么?@AndrewThompson说得对。不是那个帖子会很安全,但会稍微好一点。。我想
POST
就足够了。我的错。为什么邮件不安全?我想使用URI生成器的.setParameter方法传递参数的想法正确吗?@db579,因为密码在网络上以明文形式传递。因此,几乎任何人都可以嗅探/窃听它。通常,当您进行身份验证时,您不向服务器发送哈希值,而是发送密码,服务器对其进行加密/哈希,然后与存储的数据库数据进行比较。现在,即使您发送散列,它仍然不安全,因为找到您的散列的任何人都可以登录并发出更多的GET/POST请求,就像您代表您那样。根据你提出的方案,这个黑客不需要知道你的密码,一旦他得到了你的哈希。散列足够让他拿走你的身份并开始提出请求。我看不出有什么办法可以通过HTTP保证安全。你需要HTTPS。