DuckDuckGo has a feature called bangs that lets you use sequences of characters staring with !
(in this case !so
) to redirect your browser to that site's search page. For example, if you type in "toys !a", it will send you to an Amazon search for toys. This is not user-specific, and a "bang", as these sequences are called is present for every user of the site.
Every time that I'm not logged in (or at least in a browser that has not been logged in since a cookie clear / in a private window) and I make a search on a Stack Exchange site via DuckDuckGo, I am presented with a CAPTCHA. This is strange, however, as if I go directly to the URL of a search, I get no such CAPTCHA.
For example, if I search on DuckDuckGo
Is there an R function for finding the index of an element in a vector? !so
I get a CAPTCHA, but if I type directly into the address bar
https://stackoverflow.com/search?q=Is+there+an+R+function+for+finding+the+index+of+an+element+in+a+vector%3F
I do not.
Watching how DDG bangs work with the following curl
command, we see that it is not an HTTP redirect, but presumably JavaScript:
curl -v -A 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:84.0) Gecko/20100101 Firefox/84.0' 'https://duckduckgo.com?q=Is%20there%20%20an%20R%20function%20for%finding%the%20index%20of%20an%20element%20in%20a%20vector \!so'
Result (relevant bit, and run in zsh
):
< HTTP/2 200
It's kind of annoying that I have to fill out a CAPTCHA or log in every time I do this, even though it can be avoided by simply using the search bar on SO. Can something be done to prevent the CAPTCHA from being presented every time this happens?
Update
I wrongfully assumed that this was network-wide, hence why I asked meta SE. It appears that SO is much more likely to CAPTCHA me then AU is, presumably because it's a larger target for spam and crawlers. I've also noticed that having a referrer of stackoverflow.com seems to reduce the chance of a CAPTCHA, however I've done so much searching now to test that it seems to think I'm a robot every time I do anything on SO, and will have to continue testing once the system forgives me.