JAVA代码发送HTTP请求问题(我想实现和服务器进行一次连接时发送两次请求)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA代码发送HTTP请求问题(我想实现和服务器进行一次连接时发送两次请求)相关的知识,希望对你有一定的参考价值。

URL getUrl = new URL(url);
HttpURLConnection connection = (HttpURLConnection) getUrl.openConnection();
connection.connect();
这样是能发送一次请求,但请求结束之后马上就断开了连接。
例如有些操作需要登陆后才能进行,我用上面的方式登陆了,在用上面的方式修改密码时就会提示没登陆。
我想应该是第一次登陆成功后,断开连接时session就过期了,第二次访问时又创建了新的session,所以提示没有登陆。
有没有好的解决方式呢?其实就是向和服务器建立连接后,发送多条http请求

我觉得你这个问题的解决应该是你的程序做一次这个网站的登陆,而且这个登陆的动作应该是需要发生在你这段代码以前,因为你这段代码的动作其实只是访问了一下那个网站,但是没有任何的用户或者是其他的信息。
一般来说你登陆以后,你会获得一个token,用那个token就可以让网站认为你已经登陆,然后改密码什么就好办了。建议你先抓一下IE的包看看是人家的通信是怎么样的,然后用java做就好了。或者是那个网站有开发者文档就最好了。追问

已解决。用HttpClient就可以实现。

我的需求其实就是想和服务器保持长连接,而不是每次请求都重新请求连接,那个关于登陆其实只是一个demo。

分享下代码吧:

算了,分数就给你吧

参考技术A cookie啊,登录之后下次访问提交就可以了吧

java如何实现两个客服端之间互相发送信息

客户端1发信息给服务器,服务器转发信息给客户端2;客服端2接受服务端发来的信息,然后发信息给服务端,服务端转发信息给客服端1。客服端1和客户端2之间可以像聊天一样一直发信息

参考技术A

两个客户端发送消息,是通过服务器来处理的

建议你查看百度云推送,或者极光推送,都是免费

他们的推送技术有个叫推聊的功能就可以直接推送给指定的客户端

你不需要去实现这种逻辑

当然如果你非要用自己服务器去做的话,也是可以的,以下给你提供思路:

    用长连接或者java sokcet 即所有客户端都和服务器保持连接,一但有数据写入就向客户端发送数据

    用轮询,即客户端定时去查消息,例如A向B发消息,首先把数据写到服务器,B去查服务器就能查出来了

本回答被提问者和网友采纳
参考技术B 你这思路都有了还不会写么。。

以上是关于JAVA代码发送HTTP请求问题(我想实现和服务器进行一次连接时发送两次请求)的主要内容,如果未能解决你的问题,请参考以下文章

java 实现长连接接受信息,发送信息

java中如何判断发送的请求是不是得到响应

如何通过 HTTP 使用 Java(或 C#)中的摘要身份验证 HTTP 发送 SOAP 请求?

JAVA通过HttpClient发送HTTP请求的方法

通过java代码HttpRequestUtil(服务器端)发送HTTP请求并解析

如何在 JAVA 16.0 中发送 HTTP 请求