mirror of
https://gitlab.com/oeffi/public-transport-enabler.git
synced 2025-07-16 09:29:49 +00:00
use correct referer for Wien
This commit is contained in:
parent
64559430ad
commit
8eb6c04b02
4 changed files with 21 additions and 8 deletions
|
@ -86,6 +86,7 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
|
|||
private final boolean canAcceptPoiID;
|
||||
private final boolean needsSpEncId;
|
||||
private Charset requestUrlEncoding = ISO_8859_1;
|
||||
private String referer;
|
||||
private boolean suppressPositions = false;
|
||||
private boolean useRouteIndexAsConnectionId = true;
|
||||
private final XmlPullParserFactory parserFactory;
|
||||
|
@ -157,6 +158,11 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
|
|||
this.requestUrlEncoding = requestUrlEncoding;
|
||||
}
|
||||
|
||||
protected void setReferer(final String referer)
|
||||
{
|
||||
this.referer = referer;
|
||||
}
|
||||
|
||||
protected void setSuppressPositions(final boolean suppressPositions)
|
||||
{
|
||||
this.suppressPositions = suppressPositions;
|
||||
|
@ -1316,7 +1322,7 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
|
|||
InputStream is = null;
|
||||
try
|
||||
{
|
||||
is = ParserUtils.scrapeInputStream(uri.toString());
|
||||
is = ParserUtils.scrapeInputStream(uri.toString(), null, null, referer, null, 3);
|
||||
|
||||
final XmlPullParser pp = parserFactory.newPullParser();
|
||||
pp.setInput(is, null);
|
||||
|
@ -1723,10 +1729,12 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
|
|||
{
|
||||
final String uri = xsltTripRequest2Uri(from, via, to, date, dep, numConnections, products, walkSpeed, accessibility, options);
|
||||
|
||||
System.out.println(uri);
|
||||
|
||||
InputStream is = null;
|
||||
try
|
||||
{
|
||||
is = ParserUtils.scrapeInputStream(uri, null, null, "NSC_", 3);
|
||||
is = ParserUtils.scrapeInputStream(uri, null, null, referer, "NSC_", 3);
|
||||
return queryConnections(uri, is);
|
||||
}
|
||||
catch (final XmlPullParserException x)
|
||||
|
@ -1757,7 +1765,7 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
|
|||
InputStream is = null;
|
||||
try
|
||||
{
|
||||
is = new BufferedInputStream(ParserUtils.scrapeInputStream(uri.toString(), null, null, "NSC_", 3));
|
||||
is = new BufferedInputStream(ParserUtils.scrapeInputStream(uri.toString(), null, null, referer, "NSC_", 3));
|
||||
is.mark(512);
|
||||
|
||||
return queryConnections(uri.toString(), is);
|
||||
|
|
|
@ -282,7 +282,7 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
|
|||
|
||||
try
|
||||
{
|
||||
reader = new InputStreamReader(ParserUtils.scrapeInputStream(apiUri, wrap(request, null), null, null, 3), ISO_8859_1);
|
||||
reader = new InputStreamReader(ParserUtils.scrapeInputStream(apiUri, wrap(request, null), null, null, null, 3), ISO_8859_1);
|
||||
|
||||
final List<Location> results = new ArrayList<Location>();
|
||||
|
||||
|
@ -495,7 +495,7 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
|
|||
|
||||
try
|
||||
{
|
||||
reader = new InputStreamReader(ParserUtils.scrapeInputStream(apiUri, wrappedRequest, xmlMlcResEncoding, null, 3), xmlMlcResEncoding);
|
||||
reader = new InputStreamReader(ParserUtils.scrapeInputStream(apiUri, wrappedRequest, xmlMlcResEncoding, null, null, 3), xmlMlcResEncoding);
|
||||
|
||||
final XmlPullParserFactory factory = XmlPullParserFactory.newInstance(System.getProperty(XmlPullParserFactory.PROPERTY_NAME), null);
|
||||
final XmlPullParser pp = factory.newPullParser();
|
||||
|
@ -961,7 +961,7 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
|
|||
|
||||
try
|
||||
{
|
||||
reader = new InputStreamReader(ParserUtils.scrapeInputStream(apiUri, wrap(request, null), null, null, 3), ISO_8859_1);
|
||||
reader = new InputStreamReader(ParserUtils.scrapeInputStream(apiUri, wrap(request, null), null, null, null, 3), ISO_8859_1);
|
||||
|
||||
final XmlPullParserFactory factory = XmlPullParserFactory.newInstance(System.getProperty(XmlPullParserFactory.PROPERTY_NAME), null);
|
||||
final XmlPullParser pp = factory.newPullParser();
|
||||
|
|
|
@ -33,6 +33,8 @@ public class VorProvider extends AbstractEfaProvider
|
|||
public VorProvider()
|
||||
{
|
||||
super(API_BASE, null);
|
||||
|
||||
setReferer("http://www.wienerlinien.at/eportal/");
|
||||
}
|
||||
|
||||
public NetworkId id()
|
||||
|
|
|
@ -225,10 +225,10 @@ public final class ParserUtils
|
|||
|
||||
public static final InputStream scrapeInputStream(final String url) throws IOException
|
||||
{
|
||||
return scrapeInputStream(url, null, null, null, 3);
|
||||
return scrapeInputStream(url, null, null, null, null, 3);
|
||||
}
|
||||
|
||||
public static final InputStream scrapeInputStream(final String urlStr, final String postRequest, Charset requestEncoding,
|
||||
public static final InputStream scrapeInputStream(final String urlStr, final String postRequest, Charset requestEncoding, final String referer,
|
||||
final String sessionCookieName, int tries) throws IOException
|
||||
{
|
||||
if (requestEncoding == null)
|
||||
|
@ -248,6 +248,9 @@ public final class ParserUtils
|
|||
// workaround to disable Vodafone compression
|
||||
connection.addRequestProperty("Cache-Control", "no-cache");
|
||||
|
||||
if (referer != null)
|
||||
connection.addRequestProperty("Referer", referer);
|
||||
|
||||
if (sessionCookieName != null && stateCookie != null)
|
||||
connection.addRequestProperty("Cookie", stateCookie);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue