[]

Eksisozluk - Java Jsoup ile Login olup cookie tutma
JSOUP kutuphanesini kullaniyorum kod soyle:
pastebin.com
gorunen o ki login olmuyor post ettigim data'da bir eksiklik mi var acaba
farkli dillerden cozumlerde olabilir olayi anlamak acisinda
pastebin.com
gorunen o ki login olmuyor post ettigim data'da bir eksiklik mi var acaba
farkli dillerden cozumlerde olabilir olayi anlamak acisinda

name' i "__RequestVerificationToken" olan bir input daha var. onu da gonderip oyle dene. bir de "ReturnUrl" var ama opsiyonel olabilir emin degilim.
- sterimar
(06.12.14 16:10:32 ~ 16:10:58)

.data("__RequestVerificationToken", loginForm.cookies().get("__RequestVerificationToken").toString())
bunu da ekledim ama fayda etmedi :(
bunu da ekledim ama fayda etmedi :(
- jedilance
(06.12.14 17:27:27)

benim dedigim cookie degil, hidden bir input. loginForm.cookies() metodu sana inputlarin oldugu bir key,value array mi donduruyor yoksa cookieleri mi donduruyor?
- sterimar
(06.12.14 17:38:56)

request/response cookie'lerini donuyor Map<String,String> seklinde.
dondugu sey ise bu:
{cat-populer=Popular, __RequestVerificationToken=KmAEjZef6JUWFdrfBLTbvNTDXAChrHWYiMN9WwAQk6WzgxZpzfezjc30wSbMUD3BnwkfF4nl8k6TDBOL-EAv2qGBxEjTVJFu5NRL0_y-X2E1, ASP.NET_SessionId=hquhnkd3gp3kogvecrgrjtcw}
sanirim sorun requestToken'in surekli degismesi. ilk GET request'li connect ile ikinci POST request'li connect methodlarinda requestToken birbirini tutmuyor o yuzden belki de.
dondugu sey ise bu:
{cat-populer=Popular, __RequestVerificationToken=KmAEjZef6JUWFdrfBLTbvNTDXAChrHWYiMN9WwAQk6WzgxZpzfezjc30wSbMUD3BnwkfF4nl8k6TDBOL-EAv2qGBxEjTVJFu5NRL0_y-X2E1, ASP.NET_SessionId=hquhnkd3gp3kogvecrgrjtcw}
sanirim sorun requestToken'in surekli degismesi. ilk GET request'li connect ile ikinci POST request'li connect methodlarinda requestToken birbirini tutmuyor o yuzden belki de.
- jedilance
(06.12.14 17:47:06)

csrf(cross site request forgery) korumasini gecmek icin cookieleri de gondermen gerekiyor. calisan python kodu fikir verebilir:
import requests
from bs4 import BeautifulSoup
def main():
response = requests.get("https: //eksisozluk.com/giris")
s = BeautifulSoup(response.text)
token = s.find("input", {"name": "__RequestVerificationToken"})['value']
params = {"UserName": "email", "Password":"sifre", "__RequestVerificationToken": token}
r = requests.post("https: //eksisozluk.com/giris", params, cookies=response.cookies)
print r.text
if __name__ == "__main__":
main()
import requests
from bs4 import BeautifulSoup
def main():
response = requests.get("https: //eksisozluk.com/giris")
s = BeautifulSoup(response.text)
token = s.find("input", {"name": "__RequestVerificationToken"})['value']
params = {"UserName": "email", "Password":"sifre", "__RequestVerificationToken": token}
r = requests.post("https: //eksisozluk.com/giris", params, cookies=response.cookies)
print r.text
if __name__ == "__main__":
main()
- sterimar
(06.12.14 17:56:44 ~ 18:05:00)

tesekkurler python kodu icin uygun vaktim de inceleyip cozmeye devam edecegim :)
- jedilance
(06.12.14 19:24:20 ~ 19:24:26)
1