Java'da, bir web sitesinde oturum açma işlemini simüle etmek için Apache HttpComponents Client'ı kullanmaya çalışıyorum. Şu anda başarısız oluyor ve neden emin değilim. Eşdeğer tarayıcı olaylarını denemek ve anlamak için Firefox'ta Firebug kullanıyorum ve eminim bir formda belirli bir POST yöntemi ile giriş yaptığından eminim.Hatalı HTTP girişimi nasıl gidermeliyim?
İşte kodum. Sonunda bir grup kurabiyenin ayarlanmasını bekledim, ancak öyle değiller ve sonraki GET isteklerine ulaştığım yanıtlar girişin başarısız olduğunu kanıtlıyor.
String email = ...
String password = ...
String url = ...
DefaultHttpClient client = new DefaultHttpClient();
List<NameValuePair> loginParams = new ArrayList<NameValuePair>(2);
loginParams.add(new BasicNameValuePair("logindetails[email]", email));
loginParams.add(new BasicNameValuePair("logindetails[password]", password));
UrlEncodedFormEntity loginEntity = new UrlEncodedFormEntity(loginParams);
HttpPost loginPost = new HttpPost(url);
loginPost.setEntity(loginEntity);
HttpResponse loginResponse = client.execute(loginPost);
HttpEntity loginRepsonseEntity = loginResponse.getEntity();
loginRepsonseEntity.consumeContent();
for (Cookie cookie: client.getCookieStore().getCookies()) {
System.out.println(cookie.getName() + " -> " + cookie.getValue());
}
Sorunu aramaya nereden başlamalıyım? POST'un tarayıcımınkiyle aynı olduğunu doğrulamak isterim - bunu yapmanın en iyi yolu nedir?
Evet, girdiler gerçekten bu garip isimlere sahipler ... – HenryTyler2
Tamam, sonra bir sonraki çek, net-sekmeyi kontrol etmek için ateş böceğini kullanmak olacaktır. Ardından, HttpClient'te hata ayıklamayı açın ve gönderinin içeriğini karşılaştırın. –
Bunlar garip. Php bu etiketleri destekler ve bunları diziler olarak yorumlar. – ZeissS