Avatar billede strife Nybegynder
27. februar 2007 - 16:11 Der er 5 kommentarer og
1 løsning

PHP version af ASP (Vbscript) kode?

Jeg har skrevet et lille stykke kode i ASP som kalder en webservice med nogle parametre, og det får derefter noget xml tilbage som svar.
Og jeg behøver nu det samme i PHP, men er ikke lige så skarp i PHP :-)

ASP versionen ligger her
http://pastebin.com/889419

Login og pass er af gode grunde sløret, men hvis det behøves til test, så sig lige til og så finder vi ud af noget.

På forhånd tak

Mvh  Michael
Avatar billede jakobdo Ekspert
27. februar 2007 - 19:44 #1
Vil det være for meget at få login og pass?
Jeg sidder nemlig og forsøger at løse din opgave.
Avatar billede strife Nybegynder
28. februar 2007 - 08:27 #2
jakobdo >> Selvfølgelig ikke, men kan vi så ikke tage den over mail eller msn. Selvom det ikke er regerings hemmeligheder der er bag loginet, så vil jeg ikke lige dele det med hele eksperten.dk :)

Min mail og msn adresse er strife@strife.dk
Avatar billede jakobdo Ekspert
02. marts 2007 - 23:28 #3
<?php
//http://www.eksperten.dk/spm/765100

$username      = 'username';
$password      = 'password';
$host          = 'www.nike.com';
$port_login    = 443;
$port_data    = 80;
$request_login = '/nikeplus/v1/services/widget/generate_pin.jhtml?login='.$username.'&password='.$password.'&locale=en_us';
$request_data  = '/nikeplus/v1/services/app/get_user_data.jhtml';

$fp = pfsockopen("ssl://" . $host, $port_login, $errno, $errstr);
if($fp)
{
    $out  = "GET ".$request_login."  HTTP/1.1\r\n";
    $out .= "Host: ".$host."\r\n";
    $out .= "Connection: close\r\n\r\n";
    fwrite($fp, $out);
    while(!feof($fp))
    {
        $output_login .= fgets($fp, 128);
    }
    fclose($fp);
   
    if(preg_match('/BSESSIONID=(.+?);/', $output_login, $match))
    {
        $fp = pfsockopen($host, $port_data, $errno, $errstr);
        if($fp)
        {
            $out  = "GET ".$request_data."  HTTP/1.1\r\n";
            $out .= "Host: ".$host."\r\n";
            $out .= "Cookie: BSESSIONID=".$match[1]."\r\n";
            $out .= "Connection: close\r\n\r\n";
            fwrite($fp, $out);
            while(!feof($fp))
            {
                $output_data .= fgets($fp, 128);
            }
            fclose($fp);
            header("Content-Type: text/xml");
            echo substr($output_data,strpos($output_data,"\r\n\r\n")+4);
            //echo $output_data;
        }
    }
}
?>

Giver data som en XML fil.
Avatar billede jakobdo Ekspert
02. marts 2007 - 23:29 #4
Og du får et svar!
Avatar billede strife Nybegynder
02. marts 2007 - 23:31 #5
Perfekt... 1000 tak...
Avatar billede jakobdo Ekspert
03. marts 2007 - 09:19 #6
Takker for point.
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