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.


.data("__RequestVerificationToken", loginForm.cookies().get("__RequestVerificationToken").toString())
bunu da ekledim ama fayda etmedi :(


benim dedigim cookie degil, hidden bir input. loginForm.cookies() metodu sana inputlarin oldugu bir key,value array mi donduruyor yoksa cookieleri mi donduruyor?


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.


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()


tesekkurler python kodu icin uygun vaktim de inceleyip cozmeye devam edecegim :)
