Мне нужно кодировать Http-клиент, используя Java, который взаимодействует с http-сервером с состоянием.Клиент должен
- перейти на страницу входа и принять куки
- отправить страницу входа с заполненным полем формы http
- выбрать товар и добавить в корзину
- отправить корзину покупок
Я пытаюсь использовать HttpClient для реализации этого клиента.Однако я обнаружил, что даже если я отправил форму входа в систему, она по-прежнему возвращает форму входа в систему так же, как моя отправка недействительна.Вот мой код:
HttpClient agent = new DefaultHttpClient();
agent.getParams().setParameter(ClientPNames.COOKIE_POLICY,
CookiePolicy.RFC_2965);
CookieStore cookieStore = new BasicCookieStore();
HttpContext localContext = new BasicHttpContext();
localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);
HttpGet httpget = new HttpGet(site);
HttpResponse response = agent.execute(httpget, localContext);
HttpEntity entity = response.getEntity();
entity.getContent().close();
HttpPost post = new HttpPost(site + "/login.aspx");
post.getParams().setParameter("LoginControl1$ctlLoginName", "myusername");
post.getParams().setParameter("LoginControl1$ctlPassword", "mypassword");
response = agent.execute(post, localContext);
entity = response.getEntity();
String s = IO.readContentAsString(entity.getContent());
System.out.println(s);
Есть идеи, где я не прав?Или у вас есть лучший способ реализовать это?
Большое спасибо Грин