Toon posts:

[ASP] files opvragen van andere server

Pagina: 1
Acties:
  • 186 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hallo iedereen,

ik wil heel simpel alleen maar met mijn code op de ene machine een bestand uit lezen wat op een andere server staat, maar dat lukt me niet zo goed, iemand enig idee hoe ik dit moet doen?

Had nu de normale aanpak voro het uitlezen van een locale file gepakt en daar een ander path ingegooid, maar dat werkt blijkbaar niet.

iemand enig idee?

groetjes

Wouter Knigge

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Met XMLHTTPRequest van MS (zie MSXML SDK) kun je over http bestanden bereiken... Daarnaast heeft ADO stream (zie MS Data Services SDK) ook de mogelijkheid om bestanden vanaf een externe server binnen te halen...

Voorwaarde is uiteraard wel dat je via http / ftp toegang hebt...

[ Voor 15% gewijzigd door faabman op 25-03-2005 10:30 ]

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Verwijderd

Topicstarter
Maar zijn er dan geen mogelijkheden binnen asp die dit faciliteren? Ik heb namelijk een vbscript (bijna gelijk aan asp dacht ik) die op een server draait en via het GetFile methode wel gegevens over bestanden van andere servers kan binnenhalen!

zie deze code namelijk

[quote]
Dim fs, f, r
Set WSHNetwork = WScript.CreateObject("WScript.Network")
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile("\\d1rtm501\backup\logs\"+WSHNetwork.UserName+".txt")
[\quote]

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Je kan geen wscript gebruiken in ASP. :)

En aangezien de meeste websites anoniem werken heb je geen toegang tot netwerk shares. Misschien dat als je de gebruiker laat inloggen dat het dan mogelijk is.

[ Voor 68% gewijzigd door Gert op 25-03-2005 10:43 ]


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
In principe heb je de volledige scripting library van WSH ook tot je beschikking in ASP. Wat werkt er niet, welke foutmeldingen krijg je en wat heb je zelf al geprobeerd?

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
[google=fso getfile over network]

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
En als je van WScript.CreateObject nu eens Server.CreateObject maakt?

Verwijderd

Topicstarter
over wat ik zelf al geprobeerd heb:

dacht begin simple, laat ik eerst effe kijken of ik bij de folder kan! dus een folderexists functie gemaakt:

function FolderExists(strfolderpath)
'gets a path for a folder and checks whether the folder exists, it returns true or false
dim fs
set fs=Server.CreateObject("Scripting.FileSystemObject")
if fs.FolderExists("\\d1rtm300\users")=true then
response.write("bestaat")
else
response.write("bestaat niet")
end if
set fs=nothing
end function

heb voor gemak ff het path gelijk zo ingevuld om errors van mijn kant te voorkomen, ik zit zelf op de d1rtm501 server en als ik inderdaad invul "\\d1rtm501\facsys" dan vind ie wel de folder die op de eigen machine staat op de e: schijf, en die is ook gedeeld. die users dir is ook gedeeld.

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Okee, dus files over het netwerk benaderen kan, dat is mooi. Kun je nu ook het WScript.Network object aanmaken, of gaat dat fout? En dan is natuurlijk de vraag welke user hij gaat gebruiken, want als ik mij niet vergis gaat die UserName methode de naam IUSR_<MACHINENAAM> teruggeven.

Verwijderd

Topicstarter
bigbeng schreef op vrijdag 25 maart 2005 @ 11:01:
Okee, dus files over het netwerk benaderen kan, dat is mooi. Kun je nu ook het WScript.Network object aanmaken, of gaat dat fout? En dan is natuurlijk de vraag welke user hij gaat gebruiken, want als ik mij niet vergis gaat die UserName methode de naam IUSR_<MACHINENAAM> teruggeven.
sorry, snap niet helemaal wat ik hiervoor moet doen, ben nogal nieuw met dit werken met files namelijk, normaal alleen normale asp database zooi geprogrammeerd. Hoe kan ik dit testen?

probeerde het volgende:

Set WshNetwork = WScript.CreateObject("WScript.Network")

WScript.Echo "User Name: " & WshNetwork.UserName

maar dat werkt natuurlijk niet in een asp file, hoe moet dit wel?

Verwijderd

Topicstarter
Nog even wat dingen geprobeerd:
dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f = fs.GetFolder("\\d1rtm501\facsys")
response.write f

set f=nothing
set fs=nothing
geeft output "\\d1rtm501\facsys" en dit is de server waar het script ook op draait
dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f = fs.GetFolder("\\d1rtm300\users")
response.write f

set f=nothing
set fs=nothing
geeft een error

Microsoft VBScript runtime error '800a004c'

Path not found

/damocl/checkbackup_hr/index.asp, line 21

dus hij vind hem niet, terwijl ik van msdn het idee haal dat het gewoon via netwerk zou moeten kunnen op een soort gelijke manier

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Zoek eens uit:

De user die gebruikt wordt om te verbinden met de share. Een webserver draait standaard als IUSR_<MACHINE WAAR DE WEBSERVER OP DRAAIT> en die heeft geen toegang tot het domein. Dus dan kun je over het algemeen ook geen shares benaderen.
Als je dit wel moet kunnen, dan moet je op je webserver je authenticatie aanzetten en anonymous access uit. Op dat moment gaat ie met de windows user account van de aanroeper van de pagina de commandos uitvoeren.

Verwijderd

Topicstarter
weet inderdaad zeker dat het script lokaal toegang tot folders verkrijgt door middel van het IUSR_D1RTM501 account. Hiervan maak ik namelijk al gebruik bij verscheidene fax applicaties. Vraag van mijn kant is of ik niet allerlei problemen ga krijgen met ngen die al wel goed ingesteld staan.

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Die kans is goed aanwezig. Je zult dus op de een of andere manier ervoor moeten zorgen dat je moet kunnen inloggen om dat script te kunnen draaien. Een (ongeteste) oplossing zou kunnen zijn om op de webserver op systeemniveau de rechten op het script te beperken tot de domain user/groep die de logfiles moet kunnen benaderen. Het zou kunnen dat je dan een 403.X error krijgt als je het script start. Als dat zo is, dan moet je Authenticatie aanzetten naast anonieme toegang, dus allebei. In dat geval gaat ie jengelen om authenticatie als je het script probeert te draaien en kun je inloggen met het juiste user account.

Verwijderd

Topicstarter
hey bigben, thanx voor de reply's, heb nu echter geen tijd meer om er aan te werken, volgende week weer op een nieuwe werkdag, moet nu ff andere activiteiten gaan ontplooien :) in ieder geval tot zover bedankt, heb een aantal ideeen die ik kan gaan proberen

thanx
Pagina: 1