如何";浏览「;Java中的URL连接?

如何";浏览「;Java中的URL连接?,java,http,url,Java,Http,Url,我搜索了这个问题,但还没有找到解决方案,而且我不是Java方面的专家,所以这个解决方案可能比我想的要简单 我需要从经过身份验证的https页面获取一些数据, 我需要的是得到项目1,2…X 到目前为止,这一切都在起作用,但并非如我所愿 我有类似的东西: public String getItems(String itsItem) throws Exception { itsURL = new URL("https://some.site.com/search/servlet/servle

我搜索了这个问题,但还没有找到解决方案,而且我不是Java方面的专家,所以这个解决方案可能比我想的要简单

我需要从经过身份验证的https页面获取一些数据, 我需要的是得到项目1,2…X 到目前为止,这一切都在起作用,但并非如我所愿

我有类似的东西:

public String getItems(String itsItem) throws  Exception
{
    itsURL = new URL("https://some.site.com/search/servlet/servletFindView?item=" + itsItem);
    URLConnection uc = itsURL.openConnection();
    uc.setRequestProperty ("Authorization", itsBasicAuth);

    InputStream in = uc.getInputStream();
    InputStreamReader isr = new InputStreamReader(in);
    // I do stuff here with the imputStreamReader and get the data I need
    .
    .
    .
 }

 String item1 = getItems("1");
 String item2 = getItems("2");
 String item3 = getItems("3");
 ...
 String itemX = getItems("X");
这里发生的事情是,对于我需要的每一个项目,都需要一个新的连接,而我们的网站只允许10个“新连接”,然后我需要等待大约30分钟来获得更多的新连接

当我在浏览器中进行操作时,我只需登录并搜索我需要的项目,而无需“重新验证或重新连接”

我的问题是,如果有其他方法我应该采取,比如 创建一个新连接,然后在同一个连接中“浏览”我需要的几个项目?这样我就不会有10个连接的限制

例如,连接并验证到:

some.site.com/search/servlet/servletFindView?项目=

然后浏览到:

some.site.com/search/servlet/servletFindView?item=1

some.site.com/search/servlet/servletFindView?item=2

some.site.com/search/servlet/servletFindView?item=X

请注意,它们不是同一页面中的项目,而是同一站点的不同页面(第1页、第2页、第3页)中的项目

类似于登录Gmail,然后浏览邮件1、2、3…X

有什么想法和例子吗?
提前感谢

HTTPURLConnection
支持持久连接。阅读


另外,阅读和

如果你知道你要一个接一个地向下拉一堆项目,那么你到底为什么要为每一个项目打开一个新的连接,而不是只向下拉一次整个页面,然后为你需要的每一个项目解析它?这些项目不在同一个页面中。它们位于不同的页面中,分别位于site.com/item1、site.com/item2、site.com/item3页面。我认为解决方案只是在site.com中进行身份验证,而只是浏览不同的页面,site1、site2、site3等等。我认为您想要的是更好地管理您的身份验证cookie?稍微检查一下“维护会话”部分。我不是这方面的专家,只是觉得这本指南可能会有点帮助