[php] post data sturen

Pagina: 1
Acties:

  • angl2k
  • Registratie: Maart 2001
  • Laatst online: 29-04 10:53
ik wil een html file'tje uploaden naar de validator van w3c. ik heb al het een en ander zitten rommelen..
PHP:
1
<?function callpage($page, $data) {// Parse $page into it's component parts$url = parse_url($page);// Build the request string$request = $data[0]["name"]."=".urlencode($data[0]["value"]);for ($i = 1; $i <= count($data)-1; $i++) {$request .= '&amp;'.$data[$i]["name"]."=".urlencode($data[$i]["value"]);}// Build the header$header = "POST ".$url["path"]." HTTP/1.0\n";$header .= "Content-type: application/x-www-form-urlencoded\n";$header .= "Content-length: " . strlen($request) . "\n\n";// Open the connection$fp = fsockopen($url["host"], 80, $err_num, $err_msg);if ($fp) {fputs($fp, $header.$request);$response = "";while (!feof($fp)) {$response .= fgets($fp, 4096);}}fclose($fp);return $response . $header . $request;}$data[0]["name"] = "uploaded_file";$data[0]["value"] = "<html><body>hello</body></html>";$data[1]["name"] = "doctype";$data[1]["value"] = "Inline";/*$data[0]["name"] = "uri";$data[0]["value"] = "http://www.microsoft.com/";*/echo callpage("http://validator.w3.org/check",$data);?>

alleen nou krijg ik altijd een 500 internal server error terug :(

als ik het $data[x] blok comment en de andere uncomment krijg ik wel resultaat, dus ik denk dat het aan mijn brakke header ligt :? ik heb geen idee hoe je zoiets wel zou kunnen versturen ;(

wie helpt mij verder?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Kijk es naar cURL misschien dat je daar wat aan hebt :)

  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

of snoopy (almighty google voor meer info..)

  • angl2k
  • Registratie: Maart 2001
  • Laatst online: 29-04 10:53
ok ik heb snoopy gedownload en er ff mee zitten rommelen
PHP:
1
<?include("snoopy.inc");$snoopy = new Snoopy;$submit_url = "http://validator.w3.org/check";//$submit_vars["uri"] = "http://www.google.com/";$submit_vars["uploaded_file"] = "<html>\n<body>\nHello world\n</body>\n</html>\n";$submit_vars["doctype"] = "Inline";$snoopy->submit($submit_url,$submit_vars);print $snoopy->results;?>

echter weer die 500 internal server error :(

ik denk dat het te maken heeft met het verkeerd opmaken van uploaded_file ofzoiets :?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Haal die var es door base64_encode ofzo ?

  • angl2k
  • Registratie: Maart 2001
  • Laatst online: 29-04 10:53
werkt ook niet :'(

  • Erik Jan
  • Registratie: Juni 1999
  • Niet online

Erik Jan

Langzaam en zeker

Ik ken Snoopy (de scripts dan, niet mijn luiheids-idool :)) verder niet en weet niet of ie dit standaard meegeeft, maar misschien ff proberen wat extra headers als Host en User-Agent op te nemen?

btw: Waarom zo moeilijk via sockets doen eigenlijk? Download gewoon de Source Code van dat validator-pakket en behaal een Validation Rate van 4876 p/s (pages/second). 8-)

This can no longer be ignored.

Pagina: 1