Почему я вижу разные страницы из Википедии?

Когда я открываю http://en.wikipedia.org/wiki/Category:Births_by_year в В любом браузере я вижу страницу категорий с множеством подкатегорий и одной подстраницей, которая называется http://en.wikipedia.org/wiki/Park_Sung-Baek

Но когда я читаю ту же страницу с Java, я получаю страницу категории с другим содержимым. Вместо упомянутой выше подстраницы она содержит http://en.wikipedia.org/wiki/User:Mijotoba/Ruth_Stella_Correa_Palacio

Как это может быть? Почему Википедия представляет другую страницу?

Установка User-Agent не помогает.

Заголовки, запрашивающие "нормальный" контент

GET http://en.wikipedia.org/wiki/Category:Births_by_year HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: ru-RU,zh-CN;q=0.5
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: en.wikipedia.org

Заголовки, запрашивающие "измененный" контент

GET http://en.wikipedia.org/wiki/Category:Births_by_year HTTP/1.1
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host: en.wikipedia.org
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive

person Suzan Cioc    schedule 17.09.2012    source источник
comment
Я вижу здесь en.wikipedia.org/wiki/User:Mijotoba/Ruth_Stella_Correa_Palacio , попробуйте перезагрузить кеш браузера с помощью Ctrl+F5.   -  person slugonamission    schedule 18.09.2012
comment
Это не кеш браузера, так как я вижу контент в Fiddler2. Ctrl+F5 не помогло. Я вижу первую версию во всех браузерах (IE, FF, GC)   -  person Suzan Cioc    schedule 18.09.2012
comment
Здесь же, OSX 10.8 + Chrome/Safari --› Рут Стелла Корреа Паласио.   -  person harism    schedule 18.09.2012
comment
Chrome Dev здесь. В каком регионе мира вы находитесь? Вы уверены, что он обращается к en.wikipedia.org?   -  person slugonamission    schedule 18.09.2012
comment
Не могли бы вы все, ребята, проверить страницу en.wikipedia.org/wiki/Park_Sung-Baek и посмотрите, есть ли внизу категория «Рождения по годам»?   -  person Suzan Cioc    schedule 18.09.2012
comment
На самом деле, это почти наверняка проблема с кешем. Я вижу Park_Sung-Baek как исправление перед текущим. Какая у вас последняя редакция?   -  person slugonamission    schedule 18.09.2012
comment
Я из России, но делаю все с одного компьютера без удаленного доступа и виртуализации. Я обнюхиваю весь контент с помощью Fiddler2 и вижу, что он отличается.   -  person Suzan Cioc    schedule 18.09.2012
comment
@slugonamission с чего на что?   -  person Suzan Cioc    schedule 18.09.2012
comment
Он просто изменился со ссылки User: на ссылку Park_Sung-Baek...   -  person slugonamission    schedule 18.09.2012
comment
@slugonamission Я вижу, что последняя редакция от 25 августа 2012 г. .wikipedia.org/w/   -  person Suzan Cioc    schedule 18.09.2012
comment
Я могу только предположить, что это было редактирование спама, которое было удалено, так как теперь оно изменилось правильно для меня.   -  person slugonamission    schedule 18.09.2012
comment
@slugonamission, так что теперь у тебя в браузере то же, что и у меня; как это может быть? какой-то javascript изменяет содержимое, которое java не может выполнить?   -  person Suzan Cioc    schedule 18.09.2012
comment
Я не знаю. Теперь он показывает то же самое для меня, поэтому я предполагаю, что страница была изменена/отредактирована в ближайшее время, или генерация не удалась по какой-либо причине.   -  person slugonamission    schedule 18.09.2012
comment
Насколько я могу судить, это строка Accept-Encoding: gzip, deflate. Возможно, на сервере есть кешированная gzip-версия?   -  person Jon Lin    schedule 18.09.2012
comment
@slugonamission У меня все еще есть спам-версия на Java, т.е. она не изменилась для Java   -  person Suzan Cioc    schedule 18.09.2012
comment
В таком случае, я понятия не имею, это может быть где-то тайник.   -  person slugonamission    schedule 18.09.2012
comment
@ Джон, это было все. Когда я отправляю gzip, deflate для кодирования, сервер отправляет закодированную страницу, которую Java не может понять, и она содержит Park_Sung-Baek   -  person Suzan Cioc    schedule 18.09.2012


Ответы (1)


Да, это похоже на временную проблему с внешними кэшами Википедии. В частности, когда я запрашиваю соответствующую страницу из своего браузера (который отправляет заголовок запроса Accept-Encoding: gzip, deflate ), ответ, который я вижу, содержит заголовок:

Last-Modified: Thu, 13 Sep 2012 16:46:55 GMT

Если я запрашиваю ту же страницу, используя LWP из командной строке (которая не отправляет заголовок Accept-Encoding), заголовок выглядит совсем иначе:

Last-Modified: Sat, 25 Aug 2012 12:52:42 GMT

И действительно, этот последний ответ содержит тот же устаревший контент, который вы сообщаете о получении с помощью своего Java-клиента.

Я подозреваю, что в какой-то момент в прошлом из-за сбоя сервера устаревшая копия не удалялась из кеша при изменении страницы. В этом конкретном случае вы, вероятно, можете исправить это, очистив страницу. В более общем плане, если такие устаревшие кэшированные страницы будут появляться в будущем, вы можете сообщить о проблеме . Администраторы сервера Википедии, на случай, если что-то не так с кешем, который нужно исправить.

Пс. Почему вы все равно загружаете внешние HTML-страницы Википедии с помощью Java? Как правило, вместо этого следует использовать MediaWiki API.

person Ilmari Karonen    schedule 17.09.2012