Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Curl] Content-length required

Pagina: 1
Acties:
  • 647 views

  • Thomasv6
  • Registratie: December 2007
  • Laatst online: 09:34
Ik ben op dit moment bezig met een cURL script. Als ik een gewone GET aanvraag doe naar de server gaat alles goed, maar met dat ik een POST aanvraag doe, dan geeft de server (iis 6) een Content length required terug terwijl ik deze toch echt mee stuur met mijn cURL script.

Na 2 dagen zoeken geef ik de moed op, (google tevens ook). En vraag ik om jullie hulp. Het betreft het volgende script:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php

$data       =   array(
                        'IWCHKBOX'          =>  'on',
                        'IWCHKBOXDOC'       =>  'on',
                        'IWCHKBOXVAK'       =>  'on',
                        'IWCHKBOXGRP'       =>  'on',
                        'IWCHKBOXTOE'       =>  'on');
                        
        $postfields =    http_build_query($data, '', '&');
        
        $HTTPHeaders =  array
                        (
                        'Content-Type:application/x-www-form-urlencoded',
                        'Content-Length:'.strlen($postfields));
        
        $ch         =   curl_init();
        curl_setopt ($ch, CURLOPT_HTTPHEADER,       $HTTPHeaders);
        curl_setopt ($ch, CURLOPT_URL,      $url);
        curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,   1);
        curl_setopt ($ch, CURLOPT_USERAGENT,        'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1');
        curl_setopt ($ch, CURLOPT_COOKIE,           $cookie);
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER,   1);
        curl_setopt ($ch, CURLOPT_FOLLOWLOCATION,   0);
        curl_setopt ($ch, CURLOPT_POST,             true);
        curl_setopt ($ch, CURLOPT_POSTFIELDS,       $postfields);
        
        $file_contents      =   curl_exec($ch);

        curl_close($ch);
        return $file_contents;

?>

  • Nactive
  • Registratie: Juni 2011
  • Niet online
Wss een long shot en zal het niet zijn, maar zet is een spatie na content-length:

code:
1
'Content-Length: '.strlen($postfields)

  • Thomasv6
  • Registratie: December 2007
  • Laatst online: 09:34
Nactive schreef op zaterdag 15 september 2012 @ 11:01:
Wss een long shot en zal het niet zijn, maar zet is een spatie na content-length:

code:
1
'Content-Length: '.strlen($postfields)
Helaas, had deze spatie al weggehaald aangezien ik dit op google veel tegenkwam zonder spatie ertussen. Met of zonder spatie maakt beiden geen verschil.

  • xh3adshotx
  • Registratie: Oktober 2011
  • Laatst online: 28-02-2023
Zo al geprobeerd?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ch = curl_init();
curl_setopt    ($ch, CURLOPT_USERAGENT,         'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1');
curl_setopt($ch, CURLOPT_URL, linknaarjepagina);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$data        =    array( 
                        'IWCHKBOX'            =>    'on', 
                        'IWCHKBOXDOC'        =>    'on', 
                        'IWCHKBOXVAK'        =>    'on', 
                        'IWCHKBOXGRP'        =>    'on', 
                        'IWCHKBOXTOE'        =>    'on'); 

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);


$result = curl_exec($ch);
curl_close($ch);

echo $result;
?>

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Heel raar, aangezien dit probleemloos (jouw script met als enige verandering een $url naar een eigen phpinfo()-script, het verwijderen van de cookies en ipv een 'return' een 'echo) met een Apache-server werkt. Lijkt me dus een IIS-only-issue?

[ Voor 7% gewijzigd door Osiris op 15-09-2012 11:31 ]


  • Thomasv6
  • Registratie: December 2007
  • Laatst online: 09:34
Osiris schreef op zaterdag 15 september 2012 @ 11:31:
Heel raar, aangezien dit probleemloos (jouw script met als enige verandering een $url naar een eigen phpinfo()-script, het verwijderen van de cookies en ipv een 'return' een 'echo) met een Apache-server werkt. Lijkt me dus een IIS-only-issue?
Ja dat vermoed ik wel, als ik op google lees gebeurt dit ook alleen maar bij iis 6 servers.
xh3adshotx schreef op zaterdag 15 september 2012 @ 11:14:
Zo al geprobeerd?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ch = curl_init();
curl_setopt    ($ch, CURLOPT_USERAGENT,         'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1');
curl_setopt($ch, CURLOPT_URL, linknaarjepagina);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$data        =    array( 
                        'IWCHKBOX'            =>    'on', 
                        'IWCHKBOXDOC'        =>    'on', 
                        'IWCHKBOXVAK'        =>    'on', 
                        'IWCHKBOXGRP'        =>    'on', 
                        'IWCHKBOXTOE'        =>    'on'); 

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);


$result = curl_exec($ch);
curl_close($ch);

echo $result;
?>
Dit geeft nog steeds hetzelfde


Dit is tevens wat cURL verzend kwa headers, lijkt me goed te gaan:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
* About to connect() to roosterlb.windesheim.nl port 80 (#0)
*   Trying 145.44.244.9...
* connected
* Connected to roosterlb.windesheim.nl (145.44.244.9) port 80 (#0)
> POST /scripts/WDMRooster.dll/EXEC/0/A0ED8F0257D35884EF19E440?prscod=public&code=ictm1c HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1
Host: roosterlb.windesheim.nl
Accept: */*
Cookie: WROOSTER=rd244o00000000000000000000ffff912c10f6o80; path=/

HTTP/1.1 200 OK
Date: Sat, 15 Sep 2012 09:38:15 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Type: text/html
Content-Length: 610
Set-Cookie: 
Content-Type:application/x-www-form-urlencoded
Content-Length: 150

* upload completely sent off: 150 out of 150 bytes
< HTTP/1.1 411 Length Required
< Content-Type: text/html
< Date: Sat, 15 Sep 2012 09:38:15 GMT
< X-Cnection: close
< Content-Length: 24
< 
* Connection #0 to host roosterlb.windesheim.nl left intact

[ Voor 79% gewijzigd door Thomasv6 op 15-09-2012 11:40 ]


  • Osiris
  • Registratie: Januari 2000
  • Niet online
Nou, ik zie toch echt tweemaal een "Content-Length"..

Beetje raar.. Je POST-request en HTTP return lopen door elkaar heen..

Hmm, je krijgt zowel een 200 als een 411 terug? Ook raar...

[ Voor 57% gewijzigd door Osiris op 15-09-2012 11:44 ]


  • Thomasv6
  • Registratie: December 2007
  • Laatst online: 09:34
Ik zal even voor de duidelijkheid het complete script neerzetten, in totaal voer ik 2 requests achter elkaar uit naar de server. Dit om erachter te komen met de "hash" is die ik de 2e keer moet meesturen, het gaat om deze code:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php
session_start();

    function rooster($klas){
        $ch         =   curl_init();
        
        $f  =   fopen('request2.txt', 'w');
        curl_setopt ($ch, CURLOPT_URL,              'http://roosterlb.windesheim.nl/scripts/WDMRooster.dll?prscod=public&code='.$klas);
        curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,   1);
        curl_setopt ($ch, CURLOPT_USERAGENT,        'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1');
        curl_setopt ($ch, CURLOPT_NOBODY,           1);
        curl_setopt ($ch, CURLOPT_HEADER,           1); 
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER,   1);
        curl_setopt ($ch, CURLOPT_FOLLOWLOCATION,   1);
        curl_setopt ($ch, CURLOPT_VERBOSE,          1);
        curl_setopt ($ch, CURLOPT_STDERR,           $f);
        

        $file_contents      =   curl_exec($ch);
        $fclose($f);
        curl_close($ch);    

        $info   = $file_contents;
        
        $hash   =   explode("/0/", $info);
        $hash   =   explode("?prs", $hash[1]);
        $hash   =   $hash[0];
        
        $cookie =   explode("WROOSTER", $info);
        $cookie =   "WROOSTER".$cookie[1];
        
        $content    =   nasd($hash, $cookie, $klas);
        
        return $content;
    }

    function nasd ($hash, $cookie, $klas){
        
        $data       =   array(
                        'IW_Action'         => 'IWBTNSTART',
                        'IW_ActionParam'    => '',
                        'IWEDTCODE'         => 'ictm1c',
                        'TIWDTPCKRVANAF'    => '15-9-2012',
                        'IWCHKBOX'          =>  'on',
                        'IWCHKBOXDOC'       =>  'on',
                        'IWCHKBOXVAK'       =>  'on',
                        'IWCHKBOXGRP'       =>  'on',
                        'IWCHKBOXTOE'       =>  'on');
                        
        $postfields =    http_build_query($data, '', '&');
        
        $HTTPHeaders =  array
                        (
                        'Content-Type:application/x-www-form-urlencoded',
                        'Content-Length: '.strlen($postfields));
        
        $ch         =   curl_init();
        
        // Debugging only
        $f  =   fopen('request.txt', 'w');
        
        curl_setopt ($ch, CURLOPT_HTTPHEADER,       $HTTPHeaders);
        curl_setopt ($ch, CURLOPT_URL,              'http://roosterlb.windesheim.nl/scripts/WDMRooster.dll/EXEC/0/'.$hash.'?prscod=public&code='.$klas);
        curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,   1);
        curl_setopt ($ch, CURLOPT_USERAGENT,        'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1');
        curl_setopt ($ch, CURLOPT_COOKIE,           $cookie);
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER,   1);
        curl_setopt ($ch, CURLOPT_FOLLOWLOCATION,   0);
        curl_setopt ($ch, CURLOPT_POST,             true);
        curl_setopt ($ch, CURLOPT_POSTFIELDS,       $postfields);
        curl_setopt ($ch, CURLOPT_VERBOSE,          1);
        curl_setopt ($ch, CURLOPT_STDERR,           $f);
        
        $file_contents      =   curl_exec($ch);
        
        $fclose($f);
            
        curl_close($ch);
        
        return $file_contents;
        
    }
    
    echo rooster('ictm1c');
?>



En dit komt van de eerste request:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
* About to connect() to roosterlb.windesheim.nl port 80 (#0)
*   Trying 145.44.244.9...
* connected
* Connected to roosterlb.windesheim.nl (145.44.244.9) port 80 (#0)
> HEAD /scripts/WDMRooster.dll?prscod=public&code=ictm1c HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1
Host: roosterlb.windesheim.nl
Accept: */*

< HTTP/1.1 302 Object Moved
< Content-Length: 238
< Content-Type: text/html
< Location: http://roosterlb.windesheim.nl/scripts/WDMRooster.dll/EXEC/0/6043A603FDFC1FB7EF19E440?prscod=public&code=ictm1c
< Server: Microsoft-IIS/6.0
< X-Powered-By: ASP.NET
< Date: Sat, 15 Sep 2012 09:47:11 GMT
< Set-Cookie: WROOSTER=rd244o00000000000000000000ffff912c10f6o80; path=/
< 
* Connection #0 to host roosterlb.windesheim.nl left intact
* Issue another request to this URL: 'http://roosterlb.windesheim.nl/scripts/WDMRooster.dll/EXEC/0/6043A603FDFC1FB7EF19E440?prscod=public&code=ictm1c'
* Connection #0 seems to be dead!
* Closing connection #0
* About to connect() to roosterlb.windesheim.nl port 80 (#0)
*   Trying 145.44.244.9...
* connected
* Connected to roosterlb.windesheim.nl (145.44.244.9) port 80 (#0)
> HEAD /scripts/WDMRooster.dll/EXEC/0/6043A603FDFC1FB7EF19E440?prscod=public&code=ictm1c HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1
Host: roosterlb.windesheim.nl
Accept: */*

< HTTP/1.1 200 OK
< Date: Sat, 15 Sep 2012 09:47:11 GMT
< Server: Microsoft-IIS/6.0
< X-Powered-By: ASP.NET
< Content-Type: text/html
< Content-Length: 610
< Set-Cookie: WROOSTER=rd244o00000000000000000000ffff912c10f5o80; path=/
< 
* Connection #0 to host roosterlb.windesheim.nl left intact



En dit komt van de 2e request:


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
* About to connect() to roosterlb.windesheim.nl port 80 (#0)
*   Trying 145.44.244.9...
* connected
* Connected to roosterlb.windesheim.nl 

(145.44.244.9) port 80 (#0)
> POST /scripts/WDMRooster.dll/EXEC/0/A0ED8F0257D35884EF19E440?prscod=public&code=ictm1c HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1
Host: roosterlb.windesheim.nl
Accept: */*
Cookie: WROOSTER=rd244o00000000000000000000ffff912c10f6o80; path=/

HTTP/1.1 200 OK
Date: Sat, 15 Sep 2012 09:38:15 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Type: text/html
Content-Length: 610
Set-Cookie: 
Content-Type:application/x-www-form-urlencoded
Content-Length: 150

* upload completely sent off: 150 out of 150 bytes
< HTTP/1.1 411 Length Required
< Content-Type: text/html
< Date: Sat, 15 Sep 2012 09:38:15 GMT
< X-Cnection: close
< Content-Length: 24
< 
* Connection #0 to host roosterlb.windesheim.nl left intact

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 14:57

MueR

Admin Devschuur® & Discord

is niet lief

Doe jezelf een lol en stuur in je POSTFIELDS gewoon een array. Dan zoekt CURL het namelijk zelf allemaal voor je uit. Op het moment dat je een string stuurt doet hij dat om een of andere reden niet lekker.

Anyone who gets in between me and my morning coffee should be insecure.


  • Thomasv6
  • Registratie: December 2007
  • Laatst online: 09:34
MueR schreef op zaterdag 15 september 2012 @ 12:03:
Doe jezelf een lol en stuur in je POSTFIELDS gewoon een array. Dan zoekt CURL het namelijk zelf allemaal voor je uit. Op het moment dat je een string stuurt doet hij dat om een of andere reden niet lekker.
Oke, heb ik gedaan, hier komt tevens een andere request/headers vanaf. Maar de Length required blijft.

Nu komt er het volgende af, ik weet niet of het handig is:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
* About to connect() to roosterlb.windesheim.nl port 80 (#0)
*   Trying 145.44.244.9...
* connected
* Connected to roosterlb.windesheim.nl (145.44.244.9) port 80 (#0)
> POST /scripts/WDMRooster.dll/EXEC/0/0CA56D0403C77827F019E440?prscod=public&code=ictm1c HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1
Host: roosterlb.windesheim.nl
Accept: */*
Cookie: WROOSTER=rd244o00000000000000000000ffff912c10f7o80; path=/

HTTP/1.1 200 OK
Date: Sat, 15 Sep 2012 10:06:56 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Type: text/html
Content-Length: 610
Set-Cookie: 
Expect: 100-continue
Content-Type:application/x-www-form-urlencoded; boundary=----------------------------4bb4d2a7ebff

< HTTP/1.1 411 Length Required
< Content-Type: text/html
< Date: Sat, 15 Sep 2012 10:06:56 GMT
< X-Cnection: close
< Content-Length: 24
* HTTP error before end of send, stop sending
< 
* Closing connection #0

  • Feanathiel
  • Registratie: Juni 2007
  • Niet online

Feanathiel

Cup<Coffee>

Het lijkt erop dat het splitsen van je cookie niet goed gaat en daardoor vol je eerste response mee stuurt naar de volgende request. Kijk maar eens wat je daadwerkelijke cookie en/of hash is. Zet ook even error reporting aan. Hieraan zou je moeten zien dat $fclose geen bestaande variabele-naam, en dus een geldige functie is.

  • Thomasv6
  • Registratie: December 2007
  • Laatst online: 09:34
Feanathiel schreef op zaterdag 15 september 2012 @ 13:03:
Het lijkt erop dat het splitsen van je cookie niet goed gaat en daardoor vol je eerste response mee stuurt naar de volgende request. Kijk maar eens wat je daadwerkelijke cookie en/of hash is. Zet ook even error reporting aan. Hieraan zou je moeten zien dat $fclose geen bestaande variabele-naam, en dus een geldige functie is.
Hoebedoel je dat precies? Het fopen en fclose gedeelte is alleen puur even om die headers te bekijken. Dat haal ik bij de helft van de testen weg omdat het in de definitieve versie toch niet voorkomt.

En wat bedoel je met die cookie? Met de header moet de volgende naam meegesteurt worden: WROOSTER en de inhoud is variabel maar ongeveer dit: rd244o00000000000000000000ffff912c10f7o80

  • Feanathiel
  • Registratie: Juni 2007
  • Niet online

Feanathiel

Cup<Coffee>

Thomasv6 schreef op zaterdag 15 september 2012 @ 13:08:
[...]

Hoebedoel je dat precies? Het fopen en fclose gedeelte is alleen puur even om die headers te bekijken. Dat haal ik bij de helft van de testen weg omdat het in de definitieve versie toch niet voorkomt.

En wat bedoel je met die cookie? Met de header moet de volgende naam meegesteurt worden: WROOSTER en de inhoud is variabel maar ongeveer dit: rd244o00000000000000000000ffff912c10f7o80
$fclose($f); moet fclose($f); worden. $fclose is geen variabele. Nu ruimt php dat zelf wel op aan het einde, maar het is netter als het vrijgegeven wordt wanneer je de resource niet meer gebruikt. Dan kan deze resource herbruikt worden waar nodig. Nu wordt dat pas gedaan wanneer het script klaar is.

Print maar eens een var_dump(...) van $cookie, dan zie je snel genoeg dat je te veel aan het meesturen bent.

[Edit] Notitie: Je krijgt een 302 object moved en dus twee responses.

[ Voor 3% gewijzigd door Feanathiel op 15-09-2012 13:16 ]


  • Thomasv6
  • Registratie: December 2007
  • Laatst online: 09:34
Feanathiel schreef op zaterdag 15 september 2012 @ 13:12:
[...]


$fclose($f); moet fclose($f); worden. $fclose is geen variabele. Nu ruimt php dat zelf wel op aan het einde, maar het is netter als het vrijgegeven wordt wanneer je de resource niet meer gebruikt. Dan kan deze resource herbruikt worden waar nodig. Nu wordt dat pas gedaan wanneer het script klaar is.

Print maar eens een var_dump(...) van $cookie, dan zie je snel genoeg dat je te veel aan het meesturen bent.

[Edit] Notitie: Je krijgt een 302 object moved en dus twee responses.
Ik heb de cookie aangepast, nu lijkt het allemaal goed te gaan, als ik content-length 0 meegeef gaat het goed maar stuurt die de POST niet door (althans der wordt niks mee gedaan). als ik de data laat tellen door strlen($data), geeft die length required en als ik er 150 invul dan doet die het wel gewoon alleen doet die dan ook niks met de post

  • Feanathiel
  • Registratie: Juni 2007
  • Niet online

Feanathiel

Cup<Coffee>

Thomasv6 schreef op zaterdag 15 september 2012 @ 13:26:
[...]

Ik heb de cookie aangepast, nu lijkt het allemaal goed te gaan, als ik content-length 0 meegeef gaat het goed maar stuurt die de POST niet door (althans der wordt niks mee gedaan). als ik de data laat tellen door strlen($data), geeft die length required en als ik er 150 invul dan doet die het wel gewoon alleen doet die dan ook niks met de post
Wat komt er nu uit je vardump van $cookie?

(In dit geval) heb je geen headers nodig, daar zorgt curl wel voor. De lengte wordt bepaald aan de hand van de postfields, en omdat het om een post gaat wordt er ook gezorgt voor het goede content-type.

[Edit] Ziet er goed uit :)

  • Thomasv6
  • Registratie: December 2007
  • Laatst online: 09:34
Dit komt nu uit de var dump:

string(58) "WROOSTER=rd244o00000000000000000000ffff912c10f7o80; path=/"


Ik heb de curl headers verwijderd, en hij geeft inderdaad geen melding:)

  • Thomasv6
  • Registratie: December 2007
  • Laatst online: 09:34
Is er misschien iemand met veel verstand van cURL die weet hoe ik de rest van de weken kan laden van dit rooster? Op de manier zoals hierboven lijkt die de post niet mee te zenden waardoor ik niet in weken vooruit kan, terwijl dit via de gewone site wel normaal via een post request gaat. Iemand die hier tijd voor heeft om naar te kijken wat ik fout doe?

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 23-11 22:23

Creepy

Tactical Espionage Splatterer

Sorry, maar zo werkt het hier dan net weer even niet. Als je iemand zoekt die jou werk gaat lopen doen kijken dan even in Devschuurder werven? Gebruik Vraag & Aanbod!. Dit is niet de plek daarvoor en ook niet de bedoeling van het forum.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.