Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problemy z cURL
neotorrent
post
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 14.08.2011

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


Witam męcze się ostatnio z cURL masakrycznie i nie mogę dojść do ładu.
Mianowicie potrzebuje coś takiego:
1. Loguje się na stronę
2. Dodaję ogłoszenie

Moje skrawki kodu
Logowanie:
  1. $fp = fopen("cookie.txt", "w");
  2. fclose($fp);
  3. $login = curl_init();
  4. curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt");
  5. curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt");
  6. curl_setopt($login, CURLOPT_TIMEOUT, 40000);
  7. curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE);
  8. curl_setopt($login, CURLOPT_URL, "http://www.konin.lm.pl/");
  9. curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
  10. curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
  11. curl_setopt($login, CURLOPT_POST, TRUE);
  12. curl_setopt($login, CURLOPT_POSTFIELDS, 'login=nssss24&password=pwww8');
  13. curl_exec ($login);
  14. curl_close ($login);

Formularz:
  1. $postFields['form_algorytm'] = '436cca6e3689f4177c13f446c9b65ba6';
  2. $postFields['ver'] = '1';
  3. $postFields['base_kategoria'] = '13774';
  4. $postFields['base_tytul'] = 'Taczka Dziwaczka';
  5. $postFields['base_tresc'] = 'Sprzedam odjazdowa taczke';
  6. $postFields['base_autor'] = 'Ja';
  7. $postFields['base_email'] = 'kontakt@kontakt.pl';
  8. $postFields['base_google_tak'] = '0';
  9. $postFields['zgoda'] = '1';
  10.  
  11. $ch = curl_init('http://www.konin.lm.pl/ogloszenia/dodaj/13774');
  12. curl_setopt($ch, CURLOPT_POST, 1);
  13. curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields); //wypelnia pola
  14. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  15. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  16. echo curl_exec($ch);
  17. curl_close($ch);

I ten kawałek też nie trybi coś brakuje mi submit i nie wiem jak sobie z Tym poradzić ;/
Jak to skleić do kupy ? Żeby wszystko trybiło

Ten post edytował neotorrent 20.06.2012, 18:16:31
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wNogachSpisz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Przepraszam za offtopic.
Moim skromnym zdaniem, CURL nie oferuje odpowiedniego poziomu abstrakcji do takich zabaw i ogólnie korzystanie z niego to jakiś koszmar, beznadziejne API, beznadziejna dokumentacja.
Polecam PEAR:HTTP_Request2.

Osobiście wszelkiego rodzaju autoryzacje i korzystanie z formularzy załatwiam w następujący sposób:

Kod
casper.start('http://www.lm.pl', function() {
    this.fill('form', {
        'login': 'sdag4',
        'password': 'asd123'
    }, true);
});
źródło: http://casperjs.org/api.html#casper.fill

Prawda że uroczo?
Pięć linijek i jesteś zalogowany, zapamiętane zostają cookie, formularz zostaje wypełniony i wysłany niezależnie od tego czy znajdował się w statycznym markupie czy też został wygenerowany dynamicznie.

Ten post edytował wNogachSpisz 21.06.2012, 10:51:00
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 5.10.2025 - 10:21