Disclaimer: I work on a search engine (findx). I try not to put competitors in a bad light.
Question: Should a web crawler always reveal its true name?
Background: While crawling the web I've found some situations where using a fake user-agent might help. First example is a web site that checks the user-agent in the http-request and returns a "your browser is not supported" - even for robots.txt. Another example is a site that had an explicit whitelist in robots.txt. Strangely, 'curl' was whitelisted but 'wget' was not. I hesitate in using a fake user-agent, e.g. googlebot because it isn't clear what the clueless webmasters' intentions are. It appears that some websites are misconfigured or so google-optimized that other/new search engines may have to resort to faking user-agent.
I'm also puzzled by Qwant because they claim to have their own search index but my personal website (which is clearly indexed when I search in qwant) has never been crawled by a user-agent resembling anything that could lead to qwant. Apparently they don't reveal what their user-agent is: https://blog.qwant.com/qwant-fr/. And there has been some discussion about it: https://www.webmasterworld.com/search_engine_spiders/4743502.htm
This is different from search engines that don't have their own index (eg. DuckDuckGo uses results from Yahoo! and yandex. Startpage uses Google, etc.)
So what do you Soylentils say, is faking the user-agent in webcrawls necessary? Acceptable? A necessary evil?
(Score: 5, Funny) by cockroach on Tuesday July 05 2016, @11:47AM
For a fun time try setting your user agent to an empty string -- there's a surprising lot of pages that will refuse to load or end up in redirection loops.
(Score: 1, Informative) by Anonymous Coward on Wednesday July 06 2016, @07:38AM
There's an Apache module that does this - I think it's the one named "mod_security".
Our monitoring system at work does not send the user-agent header, so we've had to turn the stupid module off a couple of times on the one Apache web server some moron introduced[1]. Apparently the hosting company turns it back on once in a while.
Oh sure, we could fix the monitoring system. But why, when the alternative is that the moron who absolutely had to have an Apache server is the one suffering for his choice.
[1] we are five developers, and we already span .NET, iOS and Android, we don't need any extra platforms.