2017-06-07 70 views
0

我尝试使用java http post请求自动完成我的GeoNetwork目录。无论图书馆(io,apache commons,geotools)如何,我总是拥有相同的html响应。用GeoNetwork上的java http post请求获取XML响应

<!DOCTYPE html 
    SYSTEM "html"> 
<html ng-app="gn_login" lang="eng" id="ng-app"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>My GeoNetwork catalogue - My organization</title> 
     <meta charset="utf-8"> 
     <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> 
     <meta name="apple-mobile-web-app-capable" content="yes"> 
     <meta name="description" content=""> 
     <meta name="keywords" content=""> 
     <link rel="icon" sizes="16x16 32x32 48x48" type="image/png" href="../../i$ 
     <link href="rss.search?sortBy=changeDate" rel="alternate" type="applicati$ 
     <link href="portal.opensearch" rel="search" type="application/opensearchd$ 
     <link href="/geonetwork/static/gn_login_default.css" rel="stylesheet" med$ 
     <link href="/geonetwork/static/bootstrap-table.min.css" rel="stylesheet" $ 
     <link href="/geonetwork/static/ng-skos.css" rel="stylesheet" media="scree$ 
     <link href="/geonetwork/static/srv_custom_style.css" rel="stylesheet" med$ 
    </head> 
    <body data-ng-controller="GnCatController"> 
     <div class="navbar navbar-default gn-top-bar" data-ng-hide="layout.hideTo$ 
     <div data-ng-include="'../../catalog/templates/signin.html'"></div> 
     <div ng-include="'../../catalog/templates/info.html'"></div><script src="$ 
     <div class="alert" data-ng-hide=""><strong></strong> 
     </div> 
     </noscript> 
    </body> 
</html> 

我用jetty服务器启动我的GeoNetwork。你知道如何直接请求服务器来获得XML响应吗?

回答

0

可能您正在尝试将请求发送到受保护的URL。您必须先向登录服务提出请求,并保留它返回的JSESSIONID Cookie,然后将其发送给您想要请求的原始服务。