| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Работа с сетью > URL отдает разные данные IE и Java |
| Автор: _Y_ 26.10.2010, 22:03 | ||
Пытаюсь сделать небольшую програмку обращающуюся к открытой базе данных. На одном из шагов получаю разницу между запросом из адресной строки IE и запросом из программы. Вот предельно упрощенная программа запроса:
url_1 вставленный в адресную строку броузера возвращает правильную страницу. Программа делает то же самое - пишет правильную страницу в файл. url_2 правильную страницу позволяет получить только в броузере. Программа же пишет в файл совсем другую страницу. Что я делаю неправильно? Спасибо! |
| Автор: Vasay 26.10.2010, 23:16 | ||||
| _Y_, Первое что бросилось в глаза - редирект.
Возможно, поможет
А вообще расширение к фаерфоксу "Live HTTP Headers" вам в помощь. |
| Автор: Skipy 27.10.2010, 12:27 | ||||
Это не Вы. http://tools.ietf.org/rfc/rfc3986.txt
Квадратные скобки не входят в список разрешенных в query символов (они входят в gen-delims). Скорее всего, Java просто обрезает хвост при запросе. Поставьте любой HTTP-монитор и посмотрите, что точно посылается. |
| Автор: _Y_ 27.10.2010, 17:34 |
| Vasay, не помогает, к сожалению. Skipy, понятно. Еще бы идею как с проблемой бороться |
| Автор: Vasay 27.10.2010, 17:41 | ||||
Вот это прогнать через URL Encoder http://download.oracle.com/javase/6/docs/api/java/net/URLEncoder.html |
| Автор: _Y_ 27.10.2010, 18:38 | ||
Vasay, прогоняю через энкодер. Пошлучаю вот такую строку
|
| Автор: Skipy 27.10.2010, 19:30 |
| Вы знаете, может я не специалист, но разницы между запросами из Opera и Java я не увидел. Во всяком случае визуальной. И там и там 9 результатов в поиске, идентичных. |
| Автор: _Y_ 29.10.2010, 14:10 |
| Skipy, интерррресссно. Тогда вопрос а как Вы мою программу запускаете? Если я подаставляю эту строку в качестве адреса в IE или GoogleChrome - выдает как и надо 9 результатов поиска. Если же запускаю эту мою Java программу из-под Eclipse или просто из командной строки (откомпиллированную в том же Eclipse), рузультат куда-как печальнее. |
| Автор: Skipy 29.10.2010, 16:06 | ||||
Я не Вашу программу запускаю, у меня ее естественным образом нет.
Ну и соответственно, сохраняю то, что получил в Opera, открываю два локальных файла и смотрю. Они без CSS, естественно, но результаты хотя бы одинаковые. Хотя файлы, конечно разные, причем в каких-то частях существенно. Я их в архиве прикрепил, content.html - из Java, content1.html - из Opera |
| Автор: _Y_ 30.10.2010, 12:41 |
| А вот и противоестественно - она в моем первом посте За ответ же большое спасибо. Теперь я, кажется, въезжаю. Сервер, скорее всего, возвращает одно и то же, а вот при сохранении страницы в начало добавляется (или не добавляется) огромная структура с деревом линков к ресурсам вебсайта. Я не подумал сначала сохранить из IE, а потом открыть сохраненный файл. Получается, что IE и Java сохраняют с деревом линков, хоть IE это дерево и не показывает если страница получена с оригинального сервера, а не открыта из сохраненного файла. Попробовал Chrome - сохраняет страницу именно в том виде, в котором ее показывает - видимых отличий между оригинальной и сохраненной страницей нет. Значит проблема не в Java, а, скорее всего, в метакомандах самой страницы. Ну и ладно. Теперь можно продолжать работать (просто принимать во внимание наблюдаемый эффект). Еще раз спасибо! |