automatiseret upload til webpack

This is a discussion on automatiseret upload til webpack within the Produktion af websider ved brug af php (dk.edb.internet.webdesign.serverside.php) forum.

automatiseret upload til webpack

Postby Leif Neland on Wed Nov 19, 2008 8:30 am

Jeg vil gerne uploade automatisk til webpack fra et php-script, der emulerer
at en bruger har udfyldt en formular. Men jeg får bare em fejl 500 internal
error fra webpack.
Et andet script. der er opbygget med det samme login-modul, kan poste data
til en formular, og få returneret data (ordrenr->TNT-numre for de afsendte
pakker), så selve login-delen virker. Jeg har bare problemer med at poste
til http://www.postdanmark.dk/pfs/PfsGetLabelDataServlet.



<?php
$pwd="Hemmelig";
$UID="00000000";

// funktion, der poster en form, og returnerer hvad der matcher regexp.
// Den funktion virker....
function matchurl($url,$data,$regexp,$asarray=FALSE) {
$cmd= "/usr/bin/wget -S --save-cookies /tmp/cookies1 --load-cookies
/tmp/cookies1 --keep-session-cookies --user-agent='Mozilla/4.0 (compatible;
MSIE 6.0; Windows NT 5.0; T312461; .NET CLR 2.0.50727)' ";
if ($data>"") $cmd .= " --post-data='".$data."'";
$cmd .=" '".$url."' -O - ";
exec ($cmd,$return_message_array, $return_number);
if ($asarray) {return $return_message_array;}
else {
for ($i = 0; $i < count($return_message_array); $i++) {
$results = $results.$filler.$return_message_array[$i];
}
if (preg_match($regexp,$results,$matches))
{return $matches[1];}
}
}

// Login på webpack

$data="clientID=".$UID."&userID=admin&password=".$pwd."&submit=Start+Webpack&gotoURL=http://www.postdanmark.dk/pfs/pfsWelcome.jsp";
$url="http://www.postdanmark.dk/pfs/PfsLoginServlet";
$res=matchurl($url,$data,"/window.open\(\"(.*?)\"/"); // Send login auth,
og se efter "window open(url)" i resultat
// Vi ledes videre til et vindue, åben det
$url2="http://www.postdanmark.dk/".$res;
$token=matchurl($url2,"","/pfsWelcome.jsp\?token=(.*?)&/");

// Vi er logget ind; token er værdi, der skal sendes med, så webpack kan
kende os
// Indtil her virker det; det bliver brugt i andre scripts

// Nedenstående giver en fejl 500 fra www.postdanmark.dk

// Lav request body
$body = http_request_body_encode (
array ("token" => $token,
"programID" => "pfs",
"clientID" => $UID,
"userID" => "admin",
"sessionID" => "0",
"accessCode" => "UC",
"exTime" => "120",
"spID" => "pfsWelcome.jsp",
"tpID" => "pfsShowNoOfItems.jsp",
"cpID" => "pfsReadFile.jsp",
"errorID" => "",
"buttonPressed" => "OK",
"importType" => "WEBPACK",
"ModtagerType" => "")
,array(array("name" => "fileName","type" => "text/plain","file" =>
"/dev/null")) // Dummy værdier for fil
);

// Data, der skal uploades. Når det virker, skal data hentes fra db
istedet;
$data="DK;;PIP;19.11.2008;69098;18341;Andersine And;;;Ved Søen
25;;;1234;Andeby;;;;;;;;;;;;;;1;1;;P;;";


$aBody=split("\r\n",$body,2); // Første linie er Content-Type:
multipart/form-data; boundary=---------c9f76f056d7c
// Klip den af
$type=split(":",$aBody[0],2); // Del den i key og value
$aB=split("=",$type[1]); // Split value igen efter =
$boundary=$aB[1]; // Value er boundary
$end="\r\n--".$boundary."--"; // Sidste linie
// $realbody=$aBody[1]; // Send ikke første linie
$realbody=$body; // Det er ligegyldigt....

// Indsæt csv-data og navn i stedet for dummy
$realbody=str_replace(array("null",$end),array("webpack.csv",$data.$end),$realbody);

// echo "<pre>$realbody</pre>";
$MODTAGER="http://www.postdanmark.dk/pfs/PfsGetLabelDataServlet";


// www.postdanmark.dk giver som sagt fejl 500 internal server error.
// Postes til en side, der udskriver phpinfo(), ser det korrekt ud.
echo http_request ( HTTP_METH_POST ,$MODTAGER, $realbody ,
array("headers" =>array ($type[0] => $type[1],
"Content_Length" => strlen($realbody),
"User_agent" => $_SERVER["HTTP_USER_AGENT"]), // Måske
foretrækker postdanmark IE?
"cookiestore" => "/tmp/cookies1") ,
$info );
?>



Leif Neland
 
Posts: 83
Joined: Sun May 30, 2004 6:31 am

Re: automatiseret upload til webpack

Postby Stig Johansen on Wed Nov 19, 2008 8:48 am

Leif Neland wrote:

> Jeg vil gerne uploade automatisk til webpack fra et php-script, der
> emulerer at en bruger har udfyldt en formular. Men jeg får bare em fejl
> 500 internal error fra webpack.

http://www.postdanmark.dk/pfs/pfsWelcome.jsp
giver:
....
WebPack ude af drift
WebPack er midlertidigt ude af drift.
Kontakt venligst PFS support på telefon 33 75 63 63.
....

Måske er det bare dét, men har Posten ikke en XML-RPC/SOAP/REST funktion til
den slags?

--
Med venlig hilsen
Stig Johansen
Stig Johansen
 
Posts: 63
Joined: Wed Mar 26, 2008 6:11 am

Re: automatiseret upload til webpack

Postby Carsten on Wed Nov 19, 2008 11:08 am

"Leif Neland" skrev i en meddelelse
news:4924311b$0$56785$edfadb0f@dtext02.news.tele.dk...
> Jeg vil gerne uploade automatisk til webpack fra et php-script, der
> emulerer at en bruger har udfyldt en formular. Men jeg får bare em fejl
> 500 internal error fra webpack.
> Et andet script. der er opbygget med det samme login-modul, kan poste data
> til en formular, og få returneret data (ordrenr->TNT-numre for de afsendte
> pakker), så selve login-delen virker. Jeg har bare problemer med at poste
> til http://www.postdanmark.dk/pfs/PfsGetLabelDataServlet.

Det du prøver at lave kaldes screen-scraping, og det kan være en svær
disciplin :-) Når du får en 500 fejl så tyder det lidt på at du har glemt
et eller andet i dine post data, muligvis et hidden field fra den "side" du
kommer fra.
Jeg kender en smule til webpack, og jeg ved at der findes en xml baseret
indgang til webpack som er beregnet til dit formål (server-to-server
kommunikation). Prøv at skrive til PFS support og spørg om du kan få
dokumentationen til den xml baserede webpack.

Carsten


Carsten
 
Posts: 40
Joined: Tue Apr 25, 2006 1:16 am

Re: automatiseret upload til webpack

Postby Leif Neland on Wed Nov 19, 2008 12:03 pm


> Jeg kender en smule til webpack, og jeg ved at der findes en xml baseret
> indgang til webpack som er beregnet til dit formål (server-to-server
> kommunikation). Prøv at skrive til PFS support og spørg om du kan få
> dokumentationen til den xml baserede webpack.
>

Pokkers... Hvorfor skriver de ikke noget om xml i dokumentationen?

Leif
Leif Neland
 
Posts: 83
Joined: Sun May 30, 2004 6:31 am

Re: automatiseret upload til webpack

Postby Leif Neland on Fri Nov 21, 2008 5:24 am

Carsten wrote:

> Jeg kender en smule til webpack, og jeg ved at der findes en xml
> baseret indgang til webpack som er beregnet til dit formål
> (server-to-server kommunikation). Prøv at skrive til PFS support og
> spørg om du kan få dokumentationen til den xml baserede webpack.
>
> Carsten

Er du sikker på det?

PFS-support har ikke svaret på mail, og så ringede jeg.

"Nej, man kan ikke bruge andet end at uploade en csv-fil via hjemmesiden"
"Ok så må jeg prøve at hacke mig igennem jeres hjemmeside på anden måde"
"Ja, ok"
"Farvel"
"Farvel"....


Leif Neland
 
Posts: 83
Joined: Sun May 30, 2004 6:31 am


Return to Produktion af websider ved brug af php (dk.edb.internet.webdesign.serverside.php)

Who is online

Users browsing this forum: No registered users and 0 guests