AntiGuide: ViaMichelinApiWget



PagePrincipale :: DerniersChangements :: ParametresUtilisateur :: Vous êtes 216.73.216.82 :: Signaler un abus :: le: 20250724 01:25:17
Exploitation de ViaMichelinApi basée sur capture par WGet
suivant la maquette fourne dans le kit: http://dev.viamichelin.fr/wswebsite/fra/htm/api/exemple/exemple-itineraire.html


Capture par wget: (1.bat)
"c:\program files\gnuwin32\bin\wget.exe" -o %1.log -O %1.txt "http://www.viamichelin.fr/vmw2/maf/dyn/controller/itineraryFinder?lang=fra&divId=remoteCaller1246479915904&from=&strStartCoord=%2*%3&strStartAddress=&strStartCityCountry=EUR&strDestCoord=%4*%5&strDestAddress=&strDestCityCountry=EUR&intItineraryType=1&vh=CAR&distance=km&strVehicle=0&devise=1.0%7CEUR&carbCost=1.1&isAvoidFrontiers=false&isFavoriseAutoroute=false&isAvoidPeage=false&isAvoidVignette=false&isAvoidLNR=false&autoConso=6.8&villeConso=6&routeConso=5.6&dtmDeparture=1%2F7%2F2009&trPds=0&trWidth=0&trHeight=0&charset=UTF-8&ApiKey=JSBS20070201173627379646361061"

dépouillé:
c:\program files\gnuwin32\bin\wget.exe" -o %1.log -O %1.txt
"http://www.viamichelin.fr/vmw2/maf/dyn/controller/itineraryFinder
?lang=fra
&divId=remoteCaller1246479915904
&from=
&strStartCoord=%2*%3
&strStartAddress=
&strStartCityCountry=EUR
&strDestCoord=%4*%5
&strDestAddress=
&strDestCityCountry=EUR
&intItineraryType=1
&vh=CAR&distance=km
&strVehicle=0
&devise=1.0%7CEUR
&carbCost=1.1
&isAvoidFrontiers=false
&isFavoriseAutoroute=false
&isAvoidPeage=false
&isAvoidVignette=false
&isAvoidLNR=false
&autoConso=6.8
&villeConso=6
&routeConso=5.6
&dtmDeparture=1%2F7%2F2009
&trPds=0
&trWidth=0
&trHeight=0
&charset=UTF-8
&ApiKey?=JSBS20070201173627379646361061"




exemple d'appel
call 1.bat id xd yd xf yf

exemple de sortie
variables:

cb 1 1  42  7  42  7 "Rue Berthelot" "0" "" 21
cb 2 1  79  14  37  7 "Rue Tolstoï" "0" "" 19
cb 3 1  101  18  22  4 "Rue Rameau" "0" "" 19
cb 4 1  323  56  222  38 "Rue Jules Verne" "0" "" 21
cb 5 1  389  63  66  7 "D61" "1" "6" 33
cb 5 2  389  63  66  7 "Avenue Paul Vaillant-Couturier" "0" "" 33
cb 6 1  643  92  254  29 "D61" "1" "6" 31
cb 6 2  643  92  254  29 "Avenue Paul Vaillant-Couturier" "0" "" 31
cb 7 1  655  93  12  1 "D126B" "1" "6" 43
cb 7 2  655  93  12  1 "Avenue Gabriel Péri" "0" "" 43
cb 8 1  930  128  275  35 "D126B" "1" "6" 28
cb 9 1  1024  139  94  11 "D126" "1" "6" 30
cb 9 2  1024  139  94  11 "D126B" "1" "6" 30
cb 9 3  1024  139  94  11 "Rue Gabriel Péri" "0" "" 30
cb 10 1  7610  449  6586  310 "A6B" "4" "2" 76
cb 10 2  7610  449  6586  310 "E15" "3" "1" 76
cb 10 3  7610  449  6586  310 "E50" "3" "1" 76
cb 11 1  8416  484  806  35 "E50" "3" "1" 82
cb 11 2  8416  484  806  35 "L'Aquitaine" "0" "" 82
cb 12 1  47994  2019  39578  1535 "A10" "4" "2" 92
cb 12 2  47994  2019  39578  1535 "E05" "3" "1" 92
cb 12 3  47994  2019  39578  1535 "E50" "3" "1" 92
cb 13 1  196700  6511  148706  4492 "A11" "4" "2" 119
cb 13 2  196700  6511  148706  4492 "E50" "3" "1" 119
cb 14 1  290121  9333  93421  2822 "A81" "4" "2" 119
cb 14 2  290121  9333  93421  2822 "E50" "3" "1" 119
cb 15 1  331109  10739  40988  1406 "N157" "2" "5" 104
cb 15 2  331109  10739  40988  1406 "E50" "3" "1" 104
cb 16 1  344953  11384  13844  645 "N136" "2" "5" 77
cb 16 2  344953  11384  13844  645 "E50" "3" "1" 77
cb 17 1  479894  16307  134941  4923 "N24" "2" "5" 98
cb 18 1  527309  18036  47415  1729 "N165" "2" "5" 98
cb 18 2  527309  18036  47415  1729 "E60" "3" "1" 98
cb 19 1  527556  18051  247  15 "D24" "1" "6" 59
cb 20 1  530959  18264  3403  213 "D122" "1" "6" 57
cb 21 1  531568  18328  609  64 "D122" "1" "6" 34
cb 22 1  533561  18470  1691  110 "Route de Melgven" "0" "" 55
cb 23 1  533680  18481  119  11 "Rue de Melgven" "0" "" 38
cb 24 1  534482  18569  802  88 "Rue de Melgven" "0" "" 32
cb 25 1  534517  18572  35  3 "Route de Melgven" "0" "" 42
cb 26 1  534554  18576  37  4 "D783" "1" "6" 33
cb 26 2  534554  18576  37  4 "Place de la Mairie" "0" "" 33
cb 27 1  534656  18589  102  13 "D1" "1" "6" 28
cb 27 2  534656  18589  102  13 "Place de l'Eglise" "0" "" 28
cb 28 1  535533  18685  877  96 "D1" "1" "6" 32
cb 29 1  540552  19010  5019  325 "D1" "1" "6" 55
cb 30 1  542196  19169  1644  159 "D1" "1" "6" 37
cb 31 1  542312  19180  116  11 "Route de Pointe de Trevignon" "0" "" 37
cb 32 1  542564  19207  252  27 "Route de Pointe de Trevignon" "0" "" 33


Conversion sortie de wget en sas (batch, ou non-interactive)
rem capture par wget -O
rem version 20090604-1832
dim fs 
set fs=createobject("scripting.filesystemobject")
dim fi
dim fo
dim ft
'
Set args = Wscript.Arguments
dim nom
if args.count =1 then 
nom=args(0)
else
nom=inputbox("nom du fichier capture par wget (sans le .txt)")
end if
'

if ucase(right(nom,4))=".TXT" then nom=left(nom,len(nom)-4)
'
nomin=nom & ".txt"
nomout=nom & ".don"
msgbox nom & vbcrlf & nomin & vbcrlf & nomout
set fi=fs.opentextfile(nomin ,1)
set ft=fs.createtextfile(nomout,true)
dim iti
iti=false
dim tot
dim rang
tot=""
rang=0
fini=false
'
tot=fi.readline
tot=left(tot,instr(tot,"document")-1)
tot=mid(tot,instr(tot,"var fdr"))
 dim i
dim ipre
dim ifin
ifin=0
  for i=1 to len(tot)
    if mid(tot,i,1)=";" then 
      ipre=ifin+1
      ifin=i
      dim li
li=mid(tot,ipre,ifin-ipre+1)
  '    ft.writeline "* " & li

if instr(li,"EFDRWay")>0 then 
    ' 
    dim virg
    dim kmsec
    kmsec=li

    virg=instr(kmsec,",")
    kmsec=mid(kmsec,virg+1)
    dim pos
   
     virg=instr(kmsec,",")
    pos=left(kmsec,virg-1) & " " 
    kmsec=mid(kmsec,virg+1)

    virg=instr(kmsec,",")
    pos=pos & left(kmsec,virg-1) & " " 
    kmsec=mid(kmsec,virg+1)


    virg=instr(kmsec,",")
    pos=pos & left(kmsec,virg-1) & " " 
    num=left(kmsec,virg-1)/1000

    kmsec=mid(kmsec,virg+1)
    virg=instr(kmsec,",")
    pos=pos & left(kmsec,virg-1) & " " 
   den=left(kmsec,virg-1)/3600
   vit=" " & num/den
   dim pt
   pt=instr(vit,",")
   if pt=0 then 
   '     msgbox vit
    else
    vit=left(vit,pt-1)
    end if


 '   ft.writeline "+" & pos
    ' extraire libvoie
     dim ivoie 
  
dim posave
posave=pos
dim compte
compte=0
     ivoie=instr(li,"new EFDRLibVoie(")
  while ivoie >0  
pos=posave
          li=mid(li,ivoie+len("new EFDRLibVoie(")) 
          dim ifinvoie
          ifinvoie=instr(li,")")
          dim liune
          liune=left(li,ifinvoie-1)
          ' extraire trois arguments
          virg=instr(liune,",")
          pos=pos & left(liune,virg-1)& " " 
          liune=mid(liune,virg+1)
  
        virg=instr(liune,",")
          pos=pos & left(liune,virg-1) & " " 
          pos =pos & mid(liune,virg+1)
  
  compte=compte+1
  if compte=1 then rang=rang+1

          ft.writeline nom & " " & rang & " " & compte & " " & pos   & vit
    
    ivoie=instr(li,"new EFDRLibVoie(")
    wend ' ivoie
     end if

    end if ' efdrway
  next 
  ft.close
 ' msgbox "termine"


rapaillage
la mise "bout a bout" des fichiers .don se fait simplement par la commande du genre:
type *.don > totale.txt

Paramètres
intItineraryType

à pied: strVehicle=2