Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CURL] Logowanie na forum przy pomocy CURL
nitro18
post 5.09.2007, 23:40:25
Post #1





Grupa: Zarejestrowani
Postów: 311
Pomógł: 7
Dołączył: 2.08.2006
Skąd: Bystrzyca Kłodzka/Nysa

Ostrzeżenie: (10%)
X----


Chciałem zalogować się na forum przy pomocy CURL. Na jednej zakładce testuje owe logowanie, a na drugiej sprawdzam czy mnie zalogowało. Ale coś nie chce.
Nie wiem dlaczego nie działa sad.gif

  1. <? 
  2. function createPostString($aPostFields) {
  3. foreach ($aPostFields as $key => $value) {
  4. $aPostFields[$key] = urlencode($key) . '=' . urlencode($value);
  5. }
  6. return implode('&', $aPostFields);
  7. }
  8. $postFields['username'] = 'admin';
  9. $postFields['password'] = 'aaaaa';
  10. $postFields['login'] = 'login';
  11. $postFields['redirect'] = "";
  12.  
  13.  
  14. $ch = curl_init('http://127.0.0.1:8888/forum/login.php');
  15. curl_setopt($ch, CURLOPT_POSTFIELDS, createPostString($postFields));
  16. $c=curl_exec($ch);
  17. curl_close($ch);
  18. ?>
Go to the top of the page
+Quote Post
qqrq
post 5.09.2007, 23:52:22
Post #2





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Nie działa, bo każda strona wywołana cURL-em ma inny identyfikator sesji PHP. Też miałem podobny problem. Możesz np. razem ze zmiennymi POST przesłać COOKIE, które nazywa się PHPSESSID, czy jakoś tak (identyfikator sesji) - i to za pierwszym i drugim wejściem! Za każdym razem musi to ciacho mieć taką samą wartość oczywiście (najlepiej zastartuj sesję u siebie w skrypcie i użyj bieżącego identyfikatora sesji). U mnie pomogło.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 21.06.2025 - 07:54