Avatar billede sorensen_123 Nybegynder
04. oktober 2008 - 19:56 Der er 9 kommentarer og
1 løsning

Problem med curl.

Hejsa,

Jeg sidder og laver et script, som logger ind på en side, og derefter henter en dynamisk genereret xls (excel) fil.

Dog har jeg lidt problemer.

Den logger fint nok ind (selve det stykke, er taget fra et tidligere script lavet til samme side, som bare udskrev noget kildekode fra den side - det virkede fint), men den gemmer ikke xls filen.

Er der nogen der kan tjekke igennem, og se om jeg gør noget galt?

<?PHP

$login_user = 'xxxx';
$login_pass = 'xxxx';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://xxxx.xxxxxxxx.dk/partnersystem/mylogins.php');
curl_setopt($ch, CURLOPT_POSTFIELDS,'username='.urlencode($login_user).'&password='.urlencode($login_pass).'&send=Send');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");
curl_exec($ch);

$fp = fopen ('stat.xls', 'w+');
$ch = curl_init("http://http://xxxx.xxxxxxxx.dk/partnersystem/xxxx_stats.php?from_date=2008-09-20&to_date=2008-09-30");
curl_setopt($ch, CURLOPT_POSTFIELDS,'username='.urlencode($login_user).'&password='.urlencode($login_pass).'&send=Send');
curl_setopt($ch, CURLOPT_REFERER, 'http://http://xxxx.xxxxxxxx.dk/partnersystem/statistic.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");

curl_exec($ch);
?>

Hvis jeg ville hente filen manuelt ville jeg gøre følgende:
1) Logge ind på siden
2) Gå til statistics.php
3) Trykke på knappen "download data", som kører et javascript med window.location='http://http://xxxx.xxxxxxxx.dk/partnersystem/xxxx_stats.php?from_date=2008-09-20&to_date=2008-09-30'

På forhånd tak.
Avatar billede sorensen_123 Nybegynder
04. oktober 2008 - 20:01 #1
Hov... Skal lige sige at fejlene med http://http:// kun er her på eksperten, og ikke i min fil.. det var fordi jeg bare copy/pastede http://xxxx.xxx....... ;)
Avatar billede erikjacobsen Ekspert
04. oktober 2008 - 20:26 #2
Du bruger ikke $fp til noget, så vidt jeg kan se.
Avatar billede sorensen_123 Nybegynder
04. oktober 2008 - 20:35 #3
hov, havde glemt at indsætte:
curl_setopt($ch, CURLOPT_FILE, $fp);

Dette løser dog stadigvæk ikke mit problem :(
Avatar billede erikjacobsen Ekspert
04. oktober 2008 - 20:54 #4
Er filen tom, eller er den der ikke? Du kan have et rettighedsproblem på serveren. Prøv at gemme den i en ny mappe, som er sat med chmod til 777.
Avatar billede sorensen_123 Nybegynder
04. oktober 2008 - 21:12 #5
Filen er 100% tom. 0 byte. chmod på filen er allerede 777.
Avatar billede erikjacobsen Ekspert
04. oktober 2008 - 21:14 #6
Du skal kigge på chmod på kataloget, som filen er i. Men det er nok ikke problemet.
Avatar billede erikjacobsen Ekspert
04. oktober 2008 - 21:19 #7
Koden er der som sådan ikke noget i vejen med (når du husker CURLOPT_FILE). Jeg har kørt den nederste del af din kode med en anden URL, som ikke kræver login. Det kan du evt også lige prøve.

Kommer der noget i filen, så er det jo nok fordi de forventer et eller andet, som du ikke sender med.
Avatar billede sorensen_123 Nybegynder
04. oktober 2008 - 22:41 #8
Har prøvet at få en .txt fil ind i xls filen vha. curl, dette hjælper desværre ikke :(

Hvad kan det være?
Avatar billede erikjacobsen Ekspert
04. oktober 2008 - 23:03 #9
Simpleste test er at udskifte url i nederste den med "http://dr.dk/".

En anden test er om du kan få curl til at skrive ud i browseren.
Avatar billede sorensen_123 Nybegynder
14. november 2008 - 20:52 #10
Lukker :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Nextway Software A/S

Product Configuration Specialist

AL Sydbank A/S (tidligere Arbejdernes Landsbank)

Tech Lead til Datacenter Operations

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Nye kolleger søges til IT Stab i Forsvaret