如果我請求如下URL谷歌服務器如何區分瀏覽器和HtmlUnit?
http://www.google.com/recaptcha/api/noscript?k=MYPUBLICKEY
我將獲得驗證碼的老無腳本版本的谷歌街景數包含圖像,這樣
但是,如果我會做與HtmlUnit
相同我會得到一些僞造版本的圖像,像這樣:
它總是發生:來自瀏覽器的真實世界街道號和來自HtmlUnit
的黑色扭曲文本。公鑰是一樣的。
Google服務器如何區分瀏覽器和HtmlUnit?
的代碼的HtmlUnit是如下:
final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_17);
final HtmlPage page = webClient.getPage("http://www.google.com/recaptcha/api/noscript?k=" + getPublicKey());
HtmlImage image = page.<HtmlImage>getFirstByXPath("//img");
ImageReader imageReader = image.getImageReader();
過程是可觀察到的使用Fiddler。
最有可能的用戶代理http標頭。 – 2015-04-02 12:16:02