Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] CURL logowanie problem
Forum PHP.pl > Forum > Przedszkole
miras
Witam, temat kiedyś już poruszałem... nadal nie znalazłem rozwiązania, potrzebuję zrobić logowanie do dziennika elektronicznego za pomocą curl'a

link dziennika:
https://uonet.vulcan.net.pl/001606/LoginPag...06%2fstart.aspx

jeśli komuś ułatwi sprawę to mogę podać moje dane do dziennika.


mój kod:

  1. $ch = curl_init();
  2. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
  3. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  4. curl_setopt($ch, CURLOPT_UNRESTRICTED_AUTH, 1);
  5. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
  6. curl_setopt($ch, CURLOPT_URL, "https://uonet.vulcan.net.pl/001606/LoginPage.aspx?ReturnUrl=%2f001606%2fstart.aspx");
  7. curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
  8. curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
  9.  
  10. $content = curl_exec($ch);
  11.  
  12. curl_close($ch);
  13.  
  14. $id = explode('<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="', $content);
  15. $ide = explode('" />', $id[1]);
  16.  
  17. $id1 = explode('<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="', $content);
  18. $ide1 = explode('" />', $id1[1]);
  19.  
  20. function createPostString($aPostFields)
  21. {
  22. foreach ($aPostFields as $key => $value) {
  23. $aPostFields[$key] = urlencode($key) . '=' . urlencode($value);
  24. }
  25. return implode('&', $aPostFields);
  26. }
  27.  
  28. $input = array(
  29. 'ctl00$TheContentPlaceHolder$txtLogin' => 'x',
  30. 'ctl00$TheContentPlaceHolder$btLogin' => 'Logowanie',
  31. 'ctl00$TheContentPlaceHolder$txtPassword' => 'x',
  32. '__EVENTTARGET' => '',
  33. '__EVENTARGUMENT' => '',
  34. '__VIEWSTATE' => $ide[1],
  35. '__EVENTVALIDATION' => $ide1[1]
  36. );
  37.  
  38. $ch = curl_init();
  39. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  40. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  41. curl_setopt($ch, CURLOPT_UNRESTRICTED_AUTH, 1);
  42. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
  43. curl_setopt($ch, CURLOPT_URL, "https://uonet.vulcan.net.pl/001606/LoginPage.aspx?ReturnUrl=%2f001606%2fstart.aspx");
  44. curl_setopt($ch, CURLOPT_POSTFIELDS, createPostString($input));
  45. curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
  46. curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
  47. curl_exec($ch);
  48. curl_close($ch);
  49.  
jackraymund
inną date wysyłasz "ctl00$TheContentPlaceHolder$txtPassword" a jest "ctl00%24TheContentPlaceHolder%24btLogin"
  1. __EVENTTARGET=
  2. &__EVENTARGUMENT=
  3. &__VIEWSTATE=%2FwEPDwULLTIxMjA2NTQ0MzgPZBYCZg9kFgICAxBkZBYIAgEPDxYCHgdWaXNpYmxlaGQWAgIDDxYCHgl
    pbm5lcmh0bWxlZAIDDxYCHgVzdHlsZQVdYmFja2dyb3VuZC1pbWFnZTp1cmwoaHR0cHM6Ly91b25ldC52
    dWxjYW4ubmV0LnBsL0xheW91dC9JbWFnZXMvU2tvcmtpL3VvbmV0L2hlYWRlclJvdW5kLnBuZyk7ZAIFD
    2QWAgIDD2QWBgIBDxYCHwBnZAIDDxYCHwBoZAILDxAPFgIfAGhkZGRkAgcPZBYCZg8WAh8CBQxoZWlnaH
    Q6MzhweDsWAgIBDxYCHwIFGHBvc2l0aW9uOnJlbGF0aXZlO3RvcDowOxYCZg8WAh4EVGV4dAUlwqkgMjA
    xMyBWVUxDQU4gVU9ORVQgMTIuMjAuMjg0MC4xMDQxOGRkZ%2BcjZYXoz2JVRdv7kqF9yElLDlo%3D
  4. &__EVENTVALIDATION=%2FwEWBQK%2F1PHFDgK83ePPCAKP%2FcakDwLv9Y2sBALbkpqADt2v2e9UvJEQgL3lH%2BDjFcCq6Ibn
  5. &ctl00%24TheContentPlaceHolder%24txtLogin=asdf
  6. &ctl00%24TheContentPlaceHolder%24txtPassword=asdf
  7. &ctl00%24TheContentPlaceHolder%24btLogin=Logowanie
miras
hmm, zmieniłem i dalej nic..


  1. <?php
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
  4. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  5. curl_setopt($ch, CURLOPT_UNRESTRICTED_AUTH, 1);
  6. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
  7. curl_setopt($ch, CURLOPT_URL, "https://uonet.vulcan.net.pl/001606/LoginPage.aspx?ReturnUrl=%2f001606%2fstart.aspx");
  8. curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
  9. curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
  10.  
  11. $content = curl_exec($ch);
  12.  
  13. curl_close($ch);
  14.  
  15. $id = explode('<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="', $content);
  16. $ide = explode('" />', $id[1]);
  17.  
  18. $id1 = explode('<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="', $content);
  19. $ide1 = explode('" />', $id1[1]);
  20.  
  21. function createPostString($aPostFields)
  22. {
  23. foreach ($aPostFields as $key => $value) {
  24. $aPostFields[$key] = urlencode($key) . '=' . urlencode($value);
  25. }
  26. return implode('&', $aPostFields);
  27. }
  28.  
  29. $input = array(
  30. '&ctl00%24TheContentPlaceHolder%24txtLogin' => 'x',
  31. '&ctl00%24TheContentPlaceHolder%24txtPassword' => 'x',
  32. '&ctl00%24TheContentPlaceHolder%24btLogin' => 'Logowanie',
  33. '__EVENTTARGET' => '',
  34. '__EVENTARGUMENT' => '',
  35. '__VIEWSTATE' => $ide[1],
  36. '__EVENTVALIDATION' => $ide1[1]
  37. );
  38.  
  39. $ch = curl_init();
  40. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  41. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  42. curl_setopt($ch, CURLOPT_UNRESTRICTED_AUTH, 1);
  43. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
  44. curl_setopt($ch, CURLOPT_URL, "https://uonet.vulcan.net.pl/001606/LoginPage.aspx?ReturnUrl=%2f001606%2fstart.aspx");
  45. curl_setopt($ch, CURLOPT_POSTFIELDS, createPostString($input));
  46. curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
  47. curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
  48. curl_exec($ch);
  49. curl_close($ch);
  50. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.