Σήμερα έψαχνα ένα script που είχα φτιάξει πριν από πολλά χρόνια και τυχαία ανακάλυψα και δυο απλά script. Σκέφτηκα λοιπών να τα συνδυάσω και βγήκε το έξεις. Ένα script το οποίο σαν δίνει όλες (ας το πούμε όλες) της πληροφορίες όταν κάνετε ένα HTTP request. Ας εξηγήσουμε πρώτα τη πληροφορίες δεν δίνει το script και για πιο λόγο.
• Δεν μας δίνει της ενδιάμεσες πληροφορίες. Ας υποθέσουμε ότι κάνουμε μια αιτήσει σε έναν εξυπηρετη και αυτός μας επιστρέψει ένα ΗΤΤP 302 (temporally move) τότε εμεί αυτό το header δεν θα το δούμε ποτέ. (Δεν είναι αυτό μια καλή ηδέα να μας βάζει ο εξηπιρετιτεις ένα ακόμα cookie το οποίο δεν θα το δούμε? ;). Άλλα το script μας και γενικά η πιο πολύ φυλλομετράτες θα «βρουν» την σωστή ιστοσελίδα που αναζητήσαμε (και επί την ευκαιρία και ένα δεύτερο cookie πως;).
• Δεν μας δείχνει της κρυφές πληροφορίες. (ΗΤΤP-only).
• Δεν χωνεύει Ajax η ιστοσελιδα.
Αν δεν καταλάβατε και πολλά δεν πειράζει. Ας συνεχίσουμε με το script. Το script είναι γραμμένο σε Jscript . Μια θα έλεγα πόλη καλύτερη javascript διότι περιέχει επιπλέων λειτουργίες που σε ορισμένες περιπτώσεις λυπούν στην Javascript. Καθώς επίσης το script μας έχει και στοιχειά Vbscript και λιγω WSH (Windows Script Host) τώρα από πιο σημείο ξεκίνα WSH και ποτέ Jscript η VBscript, ένταξη θέλει πολύ συζητήσει.
Αρχικά δημιουργούμε ένα αρχείο με όνομα test.wsh. Εκεί μέσα γραφούμε τα εξής. η DOWNLOAD
<?xml version="1.0" encoding="ISO-8859-1"?>
<job id="IncludeExample">
<script language="VBScript">
<![CDATA[
Function WSHInputBox(Message, Title, Value)
WSHInputBox = InputBox(Message, Title, Value)
End Function
]]>
</script>
<script language="JScript">
<![CDATA[
function processXMLHttpRequest(requestmethod, location, parameters, syncronous)
{
var xmlHttp = null;
var Text;
try
{
// Mozilla, Opera, Safari, Internet Explorer ( ?7.0)
xmlHttp = new XMLHttpRequest();
}
catch(e)
{
try
{
// MS Internet Explorer ( v6)
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
try
{
// MS Internet Explorer ( v5)
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
xmlHttp = null;
}
}
}
if (xmlHttp)
{
xmlHttp.open(requestmethod, location, syncronous);
xmlHttp.onreadystatechange = function ()
{
if (xmlHttp.readyState == 4)
{
//if(xmlHttp.statusText == "OK")
//{
WScript.Echo("HEADER :\n\n" + xmlHttp.getAllResponseHeaders());
WScript.Echo("BODY :\n\n" + xmlHttp.responseText);
Text = xmlHttp.getAllResponseHeaders() + "\n\n" + xmlHttp.responseText;
//}
}
};
//if(requestmethod == 'POST')
//{
// WScript.Echo("post");
// xmlHttp.setRequestHeader('Accept', '*/*');
// xmlHttp.setRequestHeader('Accept-Language', 'en-EN');
// xmlHttp.setRequestHeader('User-Agent:', 'Mozilla/4.0');
// xmlHttp.setRequestHeader('Connection', 'Keep-Alive');
// //Referer
// xmlHttp.setRequestHeader('Referer', location);
// //Content-Type
// xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
//}
//if(requestmethod == 'GET')
//{
// WScript.Echo("get");
// xmlHttp.setRequestHeader('Accept', '*/*');
// xmlHttp.setRequestHeader('Accept-Language', 'en-EN');
// xmlHttp.setRequestHeader('User-Agent:', 'Mozilla/4.0');
// xmlHttp.setRequestHeader('Host', location);
// xmlHttp.setRequestHeader('Connection', 'Keep-Alive');
//}
xmlHttp.send(parameters);
return Text;
}
return null;
}
var vbOKOnly = 0;
var vbInformation = 64;
var title = "HTTP GET example";
var prompt = "Enter a website (for example http://www.guimp.com/): ";
var WshShell = WScript.CreateObject("WScript.Shell");
var result = WSHInputBox(prompt, title, "http://www.guimp.com/");
if (result != null)
{
var ret = processXMLHttpRequest('GET', result, " ", false)
}
]]>
</script>
</job>
Όπως είπαμε το script αποτελείται από δυο κομμάτια το ένα είναι να ανοίξει ένα input box. Δίστιχος αυτό δεν μπορεί να το κάνει η Jscript όποτε με VBscript. Και είναι το εξής κομμάτι.
<?xml version="1.0" encoding="ISO-8859-1"?>
<job id="IncludeExample">
<script language="VBScript">
<![CDATA[
Function WSHInputBox(Message, Title, Value)
WSHInputBox = InputBox(Message, Title, Value)
End Function]]>
var vbOKOnly = 0;
var vbInformation = 64;
var title = "HTTP GET example";
var prompt = "Enter a text ";
var WshShell = WScript.CreateObject("WScript.Shell");
var result = WSHInputBox(prompt, title, "Enter Text");
if (result != null)
{
WScript.Echo("You entered :” + result );
}
]]>
</script>
</job>
Καθώς και από ένα xmlhttprequest.
πυγες
http://en.wikipedia.org/wiki/Ajax_(programming)
http://en.wikipedia.org/wiki/JScript
http://en.wikipedia.org/wiki/Windows_Script_Host
http://en.wikipedia.org/wiki/VBScript
http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου