Avatar billede jakobdo Ekspert
22. april 2004 - 12:05 Der er 4 kommentarer og
1 løsning

Hvem kan lave url fetching fra denne side?

Hej,
jeg er igang med at lave en fodbold side, hvor jeg godt kunne tænke mig at lave lidt webfetching fra siden:
http://infos5.infosport.dk/cgi-bin/Display2.dai/stillng.mml?rv1=P000378&fb=DAI+Kbh&ak=&rk=D-7&k=Herrer&rv2=

Men jeg har forsøgt med lidt forskellige eksempler har fra exp.dk, men uden held...
Det jeg ønsker er følgende resultat:

D-2  detaljeret stilling … 
K V U T Score P
1 Nørrebro BK  2 1 1 0 7-3 4
2 Danseskolen  1 1 0 0 3-0 3
3 Nordstjernen  3 1 0 2 6-5 3
4 FC Pluto  2 1 0 1 3-2 3
5 FC Klubben  1 1 0 0 2-1 3
6 FC Macondo  3 1 0 2 5-11 3
7 Metroitten  1 0 1 0 3-3 1
7 Romeo + Juliet  1 0 1 0 3-3 1

9 FB 4  1 0 1 0 1-1 1
10 Dynamorødderne IF  1 1 0 0 5-3 0
11 IF Tuca  1 0 0 1 3-5 0
12 FC Pitstop  1 0 0 1 0-4 0
Avatar billede jakoba Nybegynder
22. april 2004 - 12:19 #1
bogstavet '+' er et specialtegn når det benyttes i en urlparameter. og det er der også mange andre bogstaver der er. bruge phpfunktionen http://dk.php.net/manual/en/function.urlencode.php på de data der skal sendes for at undgå fejl.
NB: det er kun data der skal urlencodes. ikke hele urlstrengen. så

echo "http://infos5.infosport.dk/cgi-bin/Display2.dai/stillng.mml?rv1=P000378&fb=DAI+Kbh&ak=&rk=D-7&k=Herrer&rv2=";

bliver til:
echo "http://infos5.infosport.dk/cgi-bin/Display2.dai/stillng.mml"
    ."?rv1=" .urlencode("P000378")
    ."&fb="  .urlencode("DAI+Kbh"
    ."&ak="  .urlencode("")
    ."&rk="  .urlencode("D-7")
    ."&k="  .urlencode("Herrer")
    ."&rv2=" .urlencode("");

Nu er det naturligvis lidt fjollet at urlencode en tom streng, men det skader ikke, og indtil du kender de 'farlige' bogstaver vil jeg anbefale du gør det.

mvh JakobA
Avatar billede jakobdo Ekspert
22. april 2004 - 13:28 #2
Jeg har prøvet følgende:

<html>
<head>
</head>
<title>STILLING</title>
</head>
<body>
<?php

$domain = "http://infos5.infosport.dk/cgi-bin/Display2.dai/stillng.mml"
    ."?rv1=" .urlencode("P000378")
    ."&fb="  .urlencode("DAI+Kbh")
    ."&ak="  .urlencode("")
    ."&rk="  .urlencode("D-7")
    ."&k="  .urlencode("Herrer")
    ."&rv2=" .urlencode("");

flush();

// Først åbnes linket og typen "r" anføres
$open = fopen($domain, "rb");
if ($open)
    echo "Fopen success<br>";
else
    echo "Fopen failed<br>";
   
// fread sættes til at læse 15000 byte og lægger indholdet i variablen $read
$read = fread($open, 150000);

fclose($open);

echo $read;

$tekst= stristr($read, "Nedenfor");
echo $tekst;


// $read renses for alle tags, undtagen
$minustags = strip_tags($tekst, '<br><b>');

echo '<font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Sidste nyt fra <a href ="http://infos5.infosport.dk/cgi-bin/Display2.dai/stillng.mml?rv1=P000378&fb=DAI+Kbh&ak=&rk=D-7&k=Herrer&rv2=" target="_new">Stilling </a></b></font>
<br>';
echo '<font face="Verdana, Arial, Helvetica, sans-serif" size="1"><b>';
$today = date("d.m.y");
echo $today . '<br><br>';                         
echo $minustags .'</font>';
flush ();
?>

Virker sgu ikke rigtigt... Får ikke noget output, andet end: Fopen success
Avatar billede jakobdo Ekspert
22. april 2004 - 13:34 #3
Din løsning var ok, skulle bare bruge denne istedet for!
Avatar billede mhass Nybegynder
09. september 2004 - 11:47 #4
Hvad endte løsningen med at blive. Jeg kunne nemlig også godt bruge det....
Avatar billede jakobdo Ekspert
09. september 2004 - 11:55 #5
Dette bør du kunen bruge:

$domain = "http://infos5.infosport.dk/cgi-bin/Display2.dai/stillng.mml"
    ."?rv1=" .urlencode("P000378")
    ."&fb="  .urlencode("DAI+Kbh")
    ."&ak="  .urlencode("")
    ."&rk="  .urlencode("D-7")
    ."&k="  .urlencode("Herrer")
    ."&rv2=" .urlencode("");
$startTekst = "<!-- udvidet stilling -->";
$slutTekst  = "<!-- /enkelt stilling -->";

flush();
$content = file_get_contents($domain);
if (!$content)
{
    echo "Fejl under hentning af stillingen";
}
else
{
    $start  = strpos($content, $startTekst);
    $slut = strpos($content, $slutTekst);
    $length = $slut-$start;
    $stilling = substr($content, $start, $length); //Klipper den tekst ud vi skal bruge.
       
    echo $stilling;
}
flush();
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