ага, спасибо за наводку. пока все делаю, на чистом API.
и вот к чему я сейчас пришел:
Допустим, открываем через браузер страничку http://www.google.com.ua. С помощью дополнения HttpFox для Firefox, которое отслеживает все запросы браузера, видим, что "ушло" на сервер 4 разных get-запроса, первый из которых, имеет примерно следующее содержание:
Код | (Request-Line) GET / HTTP/1.1 Host www.google.com.ua User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2) Gecko/20100115 Firefox/3.6 Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language ru,en-us;q=0.7,en;q=0.3 Accept-Encoding gzip,deflate Accept-Charset windows-1251,utf-8;q=0.7,*;q=0.7 Keep-Alive 115 Proxy-Connection keep-alive Cookie PREF=ID=5b4бла-бла-бла Proxy-Authorization Basic бла-бла-бла= Cache-Control max-age=0
|
Теперь собственно вопрос - можем ли мы утверждать, что следующий код:
Код | URL test=new URL("http://www.google.com.ua"); HttpURLConnection con=(HttpURLConnection)test.openConnection(); con.setRequestProperty("Host","www.google.com.ua"); con.setRequestProperty("User-Agent","Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2) Gecko/20100115 Firefox/3.6"); con.setRequestProperty("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); con.setRequestProperty("Accept-Language","ru,en-us;q=0.7,en;q=0.3"); //con.setRequestProperty("Accept-Encoding",""); con.setRequestProperty("Accept-Charset","windows-1251,utf-8;q=0.7,*;q=0.7"); con.setRequestProperty("Keep-Alive","115"); con.setRequestProperty("Proxy-Connection","keep-alive"); con.setRequestProperty("Cookie","PREF=ID=5бла-бла-бла"); con.setRequestProperty("Proxy-Authorization","бла-бла-блаA="); con.setRequestProperty("Cache-Control","max-age=0");
|
создаст точно же такой запрос к серверу, как такой, что ушел к серверу с браузера?
То есть, по сути стоит, задача с помощью Java создать точно такой же запрос к серверу, как будто это пользователь обратился через браузер, вот. |