Hello.
It is necessary to send one single packet, without any cookies and intricate parameters, but in Charles I get one, and with the help of the code below, another. Help to understand the reasons.
import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.List; import java.util.Map; public class ODbrute { static String user_agent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.45 Safari/537.36"; public static void main(String[] args) { String response = sendRequest("http://ok.ru/dk?cmd=AnonymLogin&st.cmd=anonymLogin&tkn=2309&st.posted=set&st.email=почта&st.password=пароль&button_go=%D0%92%D0%BE%D0%B9%D1%82%D0%B8"); System.out.println(response); } public static String sendRequest(String url) { String inputLine = ""; String resp = ""; String buf = ""; try { URL obj = new URL(url); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); con.setRequestMethod("GET"); con.setRequestProperty("User-Agent", user_agent); con.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); con.setRequestProperty("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4"); System.out.println(con.getResponseCode()); BufferedReader in = new BufferedReader(new InputStreamReader( con.getInputStream())); StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine+"\n"); } in.close(); resp = response.toString(); Map<String, List<String>> map = con.getHeaderFields(); for (Map.Entry<String, List<String>> entry : map.entrySet()) { buf += entry.getKey() + entry.getValue() + "\n"; } buf += "\n"; } catch (Exception ex) { System.out.println("Request error."); } return buf + resp; } } Request via Charles:

Answer:

Help me please.