Dein Problem heiszt POST Parameter.
Nein.
Wenn ich die URL im Browser aufmache (also einen GET request ohne Parameter schicke), dann bekomme ich einen HTTP 200 und ein Dokument zurück. Wenn ich den selben GET Request mit Poster schicke, dann geht das auch ganz fein. Mit curl allerdings schlägt der Aufruf fehl:
ben@kafka: curl -get [url]http://www.schulen-online.at/sol/pub_ssuche_init.do?method=schuleSuchenOeffentlich[/url]
<html><head><title>Apache Tomcat/6.0.14 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>[b]org.apache.jasper.JasperException: /allgemein/agenterror.jsp(21,100) equal symbol expected[/b]
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:195)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:150)
org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1234)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1449)
org.apache.jasper.compiler.Parser.parseBody(Parser.java:1657)
org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1004)
org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1272)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1449)
org.apache.jasper.compiler.Parser.parseBody(Parser.java:1657)
org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1004)
org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1272)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1449)
org.apache.jasper.compiler.Parser.parse(Parser.java:133)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:167)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
</pre></p><p><b>note</b> <u>The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/6.0.14</h3></body></html>ben@kafka:
ben@kafka:
Alles anzeigen
Die Antwort liegt in der Stacktrace, die Tomcat mit dem 401 zurückwirft. Man beachte:
org.apache.jasper.JasperException: /allgemein/agenterror.jsp(21,100) equal symbol expected
Also der Server liest den User Agent des HTTP Requests aus, rechnet aber offenbar damit, dass dieser in zu einer bekannten Teilmenge gehört (Was Blödsinn ist: Der User Agent ist vom Client frei wählbar.).
Also offenbar ein Bug am Server. Lässt sich auf der Seite des Client natürlich ganz einfach hacken, indem man einfach einen bekannten User Agent String setzt:
ben@kafka: curl --get --header "User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.2) Gecko/20121223 Ubuntu/9.25 (jaunty) Firefox/3.8" http://www.schulen-online.at/sol/pub_ssuche_init.do?method=schuleSuchenOeffentlich
<html lang="en">
<head>
<title>Schulen-Online Suche</title>
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
<link href="resources/solstyles2.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="resources/sol_scripts.js">
/*Script-Includes*/
var scripts=true;
</script>
</head>
<body marginwidth="0" marginheight="0" topMargin="0" leftMargin="0"
id="top">
<table height="100%" width="100%" border="0" cellpadding="2"
cellspacing="0">
<colgroup>
<col width="130" />
<col />
</colgroup>
<tr height="1">
<td class="topnav" colspan="2">
<table width="100%" border="0" cellpadding="3" cellspacing="0">
<tr>
<td><img align="center" src="resources/top-logo2.gif" alt="Schulendatei-Online Logo"/></td>
<td class="menu" valign="bottom" align="right">
<div class="menu"><a href="javascript:goWin('help.html')"
class="menu">Hilfe</a>� <a href="javascript:goWin('glossar.html')"
class="menu">Glossar</a>� <a href="kontakt.html" class="menu">Kontakt</a>�
<a href="login_start.do" class="menu">Login</a>�</div>
<div class="menu"><a class="menu"
href="pub_ssuche_init.do?method=schuleSuchenOeffentlich">Suche
Schulen</a>� <a class="menu" href="pub_behsuche_init.do">Suche
Beh�rden</a>� <a class="menu" href="links.html">Links</a>�</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center" valign="top" class="leftnav"><img
align="center" src="resources/bmbwk1.gif" alt="BMUKK Logo klein"/><br />
<div class="submenu"></div>
</td>
<td valign="top" class="formcontent">
<p id="h1">Suche nach Schulen</p>
<script type='text/javascript' src='/sol/dwr/interface/SolDwrBean.js'> </script>
<script type='text/javascript' src='/sol/dwr/engine.js'> </script>
<script type='text/javascript' src='/sol/dwr/util.js'> </script>
<script type='text/javascript'>
function update()
{
SolDwrBean.getBezirke(createList, $("bundesland").value);
}
function createList(data)
{
DWRUtil.removeAllOptions("bezirk");
DWRUtil.addOptions("bezirk", data);
}
function updateLpu()
{
SolDwrBean.getGliederungsebene2(createListLpu, $("ebene1").value);
}
function sucheLpu()
{
SolDwrBean.getGliederungsebene2Suche(createListLpu, $("ebene1").value);
}
function createListLpu(data)
{
DWRUtil.removeAllOptions("ebene2");
DWRUtil.addOptions("ebene2", data);
}
</script>
<div class="formcontentsize">
<table class="" cellpadding="3" cellspacing="0" border="0">
<tr valign="top">
<td align="left" class=""><a
href="javascript:goWin('help_suche.html')">Wie suche ich
richtig?</a></td>
</tr>
<tr valign="top">
<td align="left" class=""></td>
</tr>
</table>
<p />
<form name="SSuchenFB" method="GET" action="/sol/pub_ssuche_exec.do;jsessionid=909B8BB1C7BCF5F1920795D7C39055DB">
<table class="formback1" cellpadding="3" cellspacing="0" border="0">
<tr valign="top">
<input type="hidden" name="method" value="schuleSuchenOeffentlich">
<input type="hidden" name="formItem" value="">
<td align="left" class="">
<table class="" cellpadding="3" cellspacing="0" border="0">
<tr valign="top">
<td width="130" align="left" class="form1"><b>Suchkriterien</b></td>
<td align="right" width="140" class="form1"><b>Sortierung</b></td>
<td><select id='sortierung' name='sortierung' class="form1" >
<option value='KENNZAHL' selected='selected'>Schulkennzahl</option> <option value='KURZTITEL'>Schultitel</option> <option value='PRIMAER_SCHULART_ID,KURZTITEL'>Schulart</option> <option value='STAATEN_ID,BUNDESLAND_ID,KURZTITEL'>Bundesland</option> <option value='STAATEN_ID,BUNDESLAND_ID,BEZIRK_ID,KURZTITEL'>Bezirk</option> <option value='PLZ'>Postleitzahl</option> </select></td>
<td align="right" width="150" class="form1"><b>Treffer
pro Seite</b></td>
<td><select id='treffer' name='treffer' class="form1" >
<option value='10' selected='selected'>10</option> <option value='20'>20</option> <option value='50'>50</option> </select></td>
</tr>
</table>
<table class="" cellpadding="3" cellspacing="0" border="0">
<tr valign="top">
<td width="130" align="left" class="form1">Schulkennzahl</td>
<td><input type="text" name="schulkennzahl" maxlength="6" size="6" value="" class="form1" title="Geben Sie die exakte Schulkennzahl ein, wenn bekannt "></td>
</tr>
<tr valign="top">
<td width="120" align="left" class="form1">Schulbezeichnung</td>
<td><input type="text" name="bezeichnung" maxlength="50" size="50" value="" class="form1" title="Geben Sie einen beliebigen Suchbegriff ein: z.B. Hauptschule"></td>
</tr>
</table>
<table class="" cellpadding="3" cellspacing="0" border="0">
<tr valign="top">
<td width="130" align="left" class="form1">Postleitzahl</td>
<td><input type="text" name="plz" maxlength="4" size="4" value="" class="form1" title="Geben Sie die Postleitzahl ein, wenn bekannt "></td>
<td width="80" align="right" class="form1">Schulort</td>
<td><input type="text" name="ort" maxlength="38" size="15" value="" class="form1" title="Geben Sie den Schulort ein "></td>
<td width="80" align="right" class="form1">Stra�e</td>
<td><input type="text" name="strasse" maxlength="30" size="15" value="" class="form1" title="Geben Sie die Adresse ein, wenn bekannt "></td>
</tr>
</table>
<table class="" cellpadding="3" cellspacing="0" border="0">
<tr valign="top">
<td width="130" align="left" class="form1">Schulart</td>
<td><select id='schulart' name='schulart' class="form1" >
<option value='XX' ><alle></option><option value='01:VS'>Volksschule</option> <option value='02:HS'>Hauptschule</option> <option value='03:SS'>Sonderschule</option> <option value='04:PS'>Polytechnische Schule</option> <option value='05:BS'>Berufsschule (ohne land- u. forstw. Berufsschule)</option> <option value='16:LFBS'>Land- u. forstwirtschaftliche Berufsschule</option> <option value='06:AHS'>Allgemeinbildende h�here Schule</option> <option value='07:TMHS'>Technische und gewerbliche mittlere oder h�here Schule</option> <option value='08:KMHS'>Kaufm�nnische mittlere oder h�here Schule</option> <option value='09:WMHS'>Wirtschaftsberufliche mittlere oder h�here Schule</option> <option value='10:SMS'>Sozialberufliche Schule</option> <option value='20:SAK'>Sozialakademie</option> <option value='11:LFMS'>Land- und forstwirtschaftliche mittlere Schule</option> <option value='17:LFHS'>Land- und forstwirtschaftliche h�here Schule</option> <option value='12:LMHS'>Lehrerbildende mittlere oder h�here Schule</option> <option value='13:LAK'>P�dagogische Hochschule</option> <option value='18:MUS'>Musikschule</option> <option value='14:SOBE'>Sonstige Bildungseinrichtung</option> <option value='21:SAB'>Sonstige allgemein bildende Schulen (Statut)</option> </select></td>
</tr>
</table>
<table class="" cellpadding="3" cellspacing="0" border="0">
<tr valign="top">
<td width="130" align="left" class="form1">Bundesland</td>
<td><select id='bundesland' name='bundesland' onchange='update();' class="form1" >
<option value='XX' ><alle></option><option value='0:0'>Auslandsschulen</option> <option value='A:1'>Burgenland</option> <option value='A:2'>K�rnten</option> <option value='A:3'>Nieder�sterreich</option> <option value='A:4'>Ober�sterreich</option> <option value='A:5'>Salzburg</option> <option value='A:6'>Steiermark</option> <option value='A:7'>Tirol</option> <option value='A:8'>Vorarlberg</option> <option value='A:9'>Wien</option> </select></td>
<td width="80" align="right" class="form1">Bezirk</td>
<td><select id="bezirk"
onchange="
javascript:validate('bezirk');
"
name="bezirk" required="n" class="form1">
<option value="0" class="">alle</option>
</select></td>
</tr>
</table>
<table class="" cellpadding="3" cellspacing="0" border="0">
<tr valign="top">
<td width="130" align="left" class="form1">�ffentlich/privat</td>
<td><input type="radio" id="privat" name="privat" value="XX"
checked="checked" class="form1" /></td>
<td width="90" align="left" class="form1">alle Schulen</td>
<td><input type="radio" id="privat" name="privat" value="1"
class="form1" /></td>
<td width="130" align="left" class="form1">�ffentliche
Schulen</td>
<td><input type="radio" id="privat" name="privat" value="2"
class="form1" /></td>
<td width="130" align="left" class="form1">private Schulen</td>
</tr>
</table>
</td>
</tr>
</table>
<table class="" cellpadding="3" cellspacing="0" border="0">
<tr valign="top">
<td height="40px" width="536px" align="left" class="" />
<td><input value="Suchen" type="submit" class="" /></td>
</tr>
</table>
</form>
</div>
</td>
</tr>
<tr height="1">
<td class="leftnav"><img align="center" border="0" height="2"
width="130" src="resources/pixel.gif" /></td>
<td class="leftnav"><img align="center" border="0" height="2"
width="20" src="resources/pixel.gif" /></td>
</tr>
<tr height="1">
<td align="center" class="topnav">Release�3<br />
��BRZ�Gmbh</td>
<td align="right">
<div style="text-align:left; float:left; width:5em;">
<img src="resources/wcag1A.gif" alt="W3C WAI Logo der Stufe A"/>
</div>
<div style="text-align:reight; clean:both;">
<IMG src="resources/bmbwklogo2.jpg" alt="BMUKK Logo gro�">
</div>
</td>
</tr>
</table>
</body>
</html>
ben@kafka:
Alles anzeigen