Serverseitig Kommandozeilen Programm ausführen

Mororu

Mitglied
Hallo zusammen

Ich habe folgendes Problem. Ich erstelle gerade eine Website mittels ASP und JavaScript. Nun sollte ich für einen Link erstellen der serverseitig zuerst eine WGET Abfrage einer Website ausführt und die erhaltenen Resultate danach darstellt.

Nun weiss ich nicht genau wie ich das anstellen soll.

Könnt ihr mir helfen?

Wäre für alle Tipps dankbar.
 
Hi,

Bezug nehmend auf deinen Beitrag im ASP-Forum und unter der Voraussetzung, das s das dort gepostete Script die erforderlichen Daten in die Datei mit der Variablen strPathFile geschrieben hat, kannst du Ajax zum Abfragen der Daten verwenden.

ASP-Script (response.asp):
Code:
<% 
Set fso = Server.CreateObject("Scripting.FileSystemObject")
strPath = Server.MapPath("./")
strTempName = fso.GetTempName
strTempNameBat = fso.GetTempName
strFileName= Replace(strTempName,".tmp",".txt")
strBatFileName= Replace(strTempName,".tmp",".bat")
strPathFile = strPath & "\" & strFileName
strPathBatFile = strPath & "" & strBatFileName

Set objFile = fso.CreateTextFile(strPathFile, True)
objFile.Close
Set objBatFile = fso.CreateTextFile(strPathBatFile, True)
objBatFile.WriteLine("C:/Programme/wget/wget.exe --output-document=download.htm --no-check-certificat 'https://url.ch' > " & strPathFile)
objBatFile.Close

Set objWsh = Server.CreateObject("WScript.Shell")
nRetVal = objWsh.Run(strPathBatFile, 1, True)

Set TextStream = fso.OpenTextFile(strPathFile, 1)

strOutput = ""
While Not TextStream.AtEndOfStream 
   strOutput = strOutput &  TextStream.ReadLine
Wend

Response.Write("<pre>")
Response.Write(strOutput)
Response.Write("</pre>")
%>
Die zugehörige HTML-Datei:
Code:
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
  <!--
var objRequest = false;

function instanceRequest(){
  if(window.XMLHttpRequest){
    objRequest = new XMLHttpRequest();
  }else if(window.ActiveXObject){ // IE
    try{
    	objRequest = new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
      try{
      	objRequest = new ActiveXObject("Microsoft.objRequest");
      }catch(e){}
    }
  }

  if(!objRequest){
    alert('Es konnte keine XMLHTTP-Instanz erzeugt werden!');
    return false;
  }
}

function theRequest() {
  // Falls noch ein Request-Objekt existiert -> zunächst beenden
  if(objRequest && objRequest.readyState){
    objRequest.abort();
    objRequest = false;
  }

  if(!objRequest){
    instanceRequest();
  }

  objRequest.open('GET', 'response.asp', true);

  self.objRequest.onreadystatechange = function(){
    if(objRequest.readyState == 4){
      if(objRequest.status == 200){
      	document.getElementById("outID").innerHTML  = objRequest.responseText;
      }else{
        alert("Anfrage nicht erfolgreich!");
      }
    }
  };
  objRequest.send(null);
}
 //-->
</script>
</head>
<body>
<button onclick="theRequest();">Request</button>
<div id="outID"></div>
</body>
</html>
Vielleicht hilft dir das weiter.

Ciao
Quaese
 
Leider krieg ich bei dieser Methode immer die Antwort "Anfrage nicht erfolgreich!". Was kann nun hier genau das Problem sein. Wäre für jede Hilfe dankbar.
 

Neue Beiträge

Zurück