konto usunięte

Temat: cURL & upload pliku

mam problem z wysyłaniem pliku poprzez formularz

mniej więcej wygląda to tak

$urlLogin = 'http://www.strona.pl/login';
$userAgent = 'Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.5) Gecko/2008121622 Ubuntu/8.10 (intrepid) Firefox/3.0.5';
$loginData = "login=MOJ_LOGIN&password=MOJE_HASLO";
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
curl_setopt($ch, CURLOPT_URL, $urlLogin);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/ciacho');
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/ciacho');
curl_setopt($ch, CURLOPT_POSTFIELDS, $loginData);
curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
curl_exec($ch);

curl_setopt($ch, CURLOPT_URL, 'http://www.strona.pl/profil/dodaj/');
$postFields['name'] = 'mój tytul';
$postFields['description'] = 'mój opis';
$postFields['pic1'] = '@' . dirname(__FILE__) . '/foto.jpg';
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
curl_setopt($ch, CURLOPT_POST, 1);
echo curl_exec($ch);

curl_close($ch);


niestety nie wysyła pliku, nie dodaje nawet wpisu bez zdjęcia. Czy coś przeoczyłem?
Janusz Skudrzyk

Janusz Skudrzyk Członek zarządu,
weblabs.pl

Temat: cURL & upload pliku

- sprawdź czy się zalogował
- wyświetl komunikaty błędów z curl

konto usunięte

Temat: cURL & upload pliku

tak, loguje się, a błędów nie ma
możliwe jest żeby serwis blokował coś takiego?
Jarek W.

Jarek W. Software Engineer

Temat: cURL & upload pliku

Będę zgadywał. Możliwe, że formularz na stronie, z której to niby wysyłasz dane posiada jeszcze na przykład jakieś ukryte pole, z którego wartości oczekuje "odbiornik formularza".

Druga rzecz, której możesz spróbować, to wklepać tam jeszcze pod koniec (przed drugim curl_execiem) coś takiego (spróbuj wkleić tylko pierwszą linijkę):

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

Ale tak jak mówię - zgaduję. :-)

konto usunięte

Temat: cURL & upload pliku

raczej nie bo patrzyłem jakie nagłówki idą w Live HTTP Headers i wypisałem do tablicy wszystkie [więcej niż podałem w przykładowym kodzie]

z CURLOPT_FOLLOWLOCATION chyba próbowałem [ale zobaczę jeszcze] bo np przy logowaniu nie może być na 1 bo wtedy chyba jakieś przekierowania były i nie można było się zalogować.

W tej chwili to jest tak że echo curl_exec zwraca stronę z formularzem, niestety żadnych błędów związanych z walidacją po stronie serwisu nie widać.

konto usunięte

Temat: cURL & upload pliku

już działa :P dziwne bo trzeba wymusić HTTP 1.0
curl_setopt($handler, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
Paweł Ryznar edytował(a) ten post dnia 14.01.09 o godzinie 09:53
Jarek W.

Jarek W. Software Engineer

Temat: cURL & upload pliku

Paweł Ryznar:
już działa :P dziwne bo trzeba wymusić HTTP 1.0
curl_setopt($handler, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
Paweł Ryznar edytował(a) ten post dnia 14.01.09 o godzinie 09:53


Faktycznie dziwne, ale dobrze wiedzieć. Dzięki - może się kiedyś przyda. :-)

Następna dyskusja:

Php upload pliku na FTP




Wyślij zaproszenie do