Avatar billede peturkirke Novice
16. april 2003 - 14:36 Der er 7 kommentarer og
1 løsning

videresendelse af http request

Jeg har en .exe fil på min webserver, som kan kaldes med nogle parametre, f.eks. sådan:

http://www.mitnavn.dk/fil.exe?ID=24&Navn=jp

Problemet er, at .exe filen skal ikke være direkte tilgængelig på internettet. Derfor vil jeg lægge denne fil i en mappe, hvor kun 127.0.0.1 har adgang, altså den lokale server. Internetbrugerne kommer ind på en fil, som hedder login.asp, hvor rettigheder m.m. bliver checket. Herefter skal login.asp lave en forespørgsel til fil.exe (intern forespørgsel på serveren), og derefter sende svaret tilbage til klienten ?

Hvordan laver jeg sådan et http request internt på serveren og fanger svaret igen ?
Avatar billede mortrr Praktikant
16. april 2003 - 15:05 #1
Du kan bruge fx asptear (gratis)
http://www.alphasierrapapa.com/IisDev/Components/AspTear/

Man kan også bruge msxml.xmlhttp, men det fræver at resultatet fra exe-filen er skrevet korrekt.
Avatar billede peturkirke Novice
16. april 2003 - 15:09 #2
kan dette ikke laves uden en komponent ?
Avatar billede mortrr Praktikant
16. april 2003 - 15:17 #3
Nah - du skal bruge en komponent, men fx msxml.xmlhttp er en standard komponent på win2k og xp, så den findes formentligt allerede på serveren.

Et hurtigt eksempel i vbscript:
  Set HttpReq = Server.CreateObject("MSXML2.XMLHTTP")
 
  HttpReq.open "GET", "http://127.0.0.1/fil.exe?ID=24&Navn=jp", False
  HttpReq.send
  Response.Write HttpReq.responseText
eller
  Response.Write HttpReq.responseXML

Men så skal fx danske karakterer være skrevet som entities.
Avatar billede peturkirke Novice
16. april 2003 - 15:56 #4
hvad mener du med entities ?
Avatar billede peturkirke Novice
16. april 2003 - 16:03 #5
hvad hvis det, som returneres, er et billede ?
Avatar billede mortrr Praktikant
16. april 2003 - 16:12 #6
Problemet er at ResponseXML sender data videre som xml-data, så hvis du læser det over i en streng, vil den forsøge at omdanne æøå til det tegnsæt som den mener xml-filen er skrevet i.
Så enten skal æ skrives som &#198;, eller du skal forklare hvilket tegnsæt du skriver i (start filen med fx <?xml version="1.0" encoding="windows-1252"?>), og lave en rigtig kodning af filen, som en xml-parser kan forstå.
Avatar billede mortrr Praktikant
16. april 2003 - 16:18 #7
Hvis det bare er html-koden til at hente billedet, så er det jo bare tekst.

Hvis det er binære data, så skal du bruge responseBody, der returnerer et array af unsigned bytes.

Eksempel:
<%
  Set xml = Server.CreateObject("MSXML2.XMLHTTP")
  xml.Open "GET", "http://127.0.0.1/fil.exe?ID=24&Navn=jp", False
  xml.Send
  Response.ContentType = "image/jpeg"
  Response.BinaryWrite xml.responseBody
%>
Avatar billede peturkirke Novice
16. april 2003 - 16:50 #8
mange gange tak !
nu virker det - billedet kommer frem - og nu kan jeg holde en roolig påske
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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