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