mirror of
https://github.com/yacy/yacy_search_server.git
synced 2024-09-19 00:01:41 +02:00
*) Changing Proxy-Useragent string according to thread http://www.yacy-forum.de/viewtopic.php?p=8183#8183
A typical useragent string now e.g. looks like: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10; YaCy 0.401/00602; yacy.net) Gecko/20050716 Firefox/1.0.6 git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@607 6c8d7289-2bf4-0310-a012-ef5d649a1542
This commit is contained in:
parent
bf14e6def5
commit
0dfa8b62e2
|
@ -116,7 +116,7 @@ public final class httpdProxyHandler extends httpdAbstractHandler implements htt
|
|||
|
||||
|
||||
private static htmlFilterTransformer transformer = null;
|
||||
public static final String userAgent = "yacy (" + httpc.systemOST +") yacy.net";
|
||||
public static final String userAgent = "yacy (" + httpc.systemOST +") yacy.net";
|
||||
private File htRootPath = null;
|
||||
|
||||
private static boolean doAccessLogging = false;
|
||||
|
@ -179,6 +179,11 @@ public final class httpdProxyHandler extends httpdAbstractHandler implements htt
|
|||
*/
|
||||
private final StringBuffer logMessage = new StringBuffer();
|
||||
|
||||
/**
|
||||
* Reusable {@link StringBuffer} to generate the useragent string
|
||||
*/
|
||||
private final StringBuffer userAgentStr = new StringBuffer();
|
||||
|
||||
// class methods
|
||||
public httpdProxyHandler(serverSwitch sb) {
|
||||
|
||||
|
@ -351,7 +356,7 @@ public final class httpdProxyHandler extends httpdAbstractHandler implements htt
|
|||
// set another userAgent, if not yellowlisted
|
||||
if ((yellowList != null) && (!(yellowList.contains(domain(hostlow))))) {
|
||||
// change the User-Agent
|
||||
requestHeader.put(httpHeader.USER_AGENT, userAgent);
|
||||
requestHeader.put(httpHeader.USER_AGENT, generateUserAgent(requestHeader));
|
||||
}
|
||||
|
||||
// decide wether to use a cache entry or connect to the network
|
||||
|
@ -852,7 +857,7 @@ public final class httpdProxyHandler extends httpdAbstractHandler implements htt
|
|||
// set another userAgent, if not yellowlisted
|
||||
if (!(yellowList.contains(domain(hostlow)))) {
|
||||
// change the User-Agent
|
||||
requestHeader.put(httpHeader.USER_AGENT, userAgent);
|
||||
requestHeader.put(httpHeader.USER_AGENT, generateUserAgent(requestHeader));
|
||||
}
|
||||
|
||||
// resolve yacy and yacyh domains
|
||||
|
@ -930,7 +935,7 @@ public final class httpdProxyHandler extends httpdAbstractHandler implements htt
|
|||
// set another userAgent, if not yellowlisted
|
||||
if (!(yellowList.contains(domain(host).toLowerCase()))) {
|
||||
// change the User-Agent
|
||||
requestHeader.put(httpHeader.USER_AGENT, userAgent);
|
||||
requestHeader.put(httpHeader.USER_AGENT, generateUserAgent(requestHeader));
|
||||
}
|
||||
|
||||
// resolve yacy and yacyh domains
|
||||
|
@ -1169,6 +1174,25 @@ public final class httpdProxyHandler extends httpdAbstractHandler implements htt
|
|||
out.flush();
|
||||
}
|
||||
|
||||
private String generateUserAgent(httpHeader requestHeaders) {
|
||||
this.userAgentStr.setLength(0);
|
||||
|
||||
String browserUserAgent = (String) requestHeaders.get(httpHeader.USER_AGENT, userAgent);
|
||||
int pos = browserUserAgent.lastIndexOf(')');
|
||||
if (pos >= 0) {
|
||||
this.userAgentStr
|
||||
.append(browserUserAgent.substring(0,pos))
|
||||
.append("; YaCy ")
|
||||
.append(switchboard.getConfig("vString","0.1"))
|
||||
.append("; yacy.net")
|
||||
.append(browserUserAgent.substring(pos));
|
||||
} else {
|
||||
this.userAgentStr.append(browserUserAgent);
|
||||
}
|
||||
|
||||
return this.userAgentStr.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is used to generate a logging message according to the
|
||||
* <a href="http://www.squid-cache.org/Doc/FAQ/FAQ-6.html">squid logging format</a>.<p>
|
||||
|
|
|
@ -236,6 +236,7 @@ public final class yacy {
|
|||
}
|
||||
|
||||
sb.setConfig("version", Float.toString(version));
|
||||
sb.setConfig("vString", combinedVersionString2PrettyString(Float.toString(version)));
|
||||
sb.setConfig("vdate", vDATE);
|
||||
sb.setConfig("applicationRoot", homePath);
|
||||
sb.setConfig("startupTime", Long.toString(startup));
|
||||
|
|
Loading…
Reference in New Issue
Block a user