现在的位置: 首页 > 综合 > 正文

理解HTTP 以及REST

2012年12月10日 ⁄ 综合 ⁄ 共 1685字 ⁄ 字号 评论关闭

testhttputility.bat

wscript GET http://msdn.microsoft.com/en-us/ff972295

 

httputility.js

if (WScript.Arguments.length < 2)
{
   WScript.echo("Client HTTP Request Utility\n");
   WScript.echo("usage: httprequest method uri [options]");
   WScript.echo();
   WScript.echo("  -f filename");
   WScript.echo("  -h headerName headerValue");
   WScript.Quit(1);
}
var method = WScript.Arguments.Item(0);
var uri = WScript.Arguments.Item(1);
var req = new ActiveXObject("MSXML2.XMLHTTP");
var filename = null;
req.Open(method, uri, false);
WScript.echo();
WScript.echo("********* Request ********* ");
WScript.echo(method + " " + uri + " HTTP/1.1");
for (i=2; i < WScript.Arguments.length; i++)
{
    var option = WScript.Arguments.Item(i);
    if (option == "-f")
        filename = WScript.Arguments.Item(i+1);
    if (option == "-h")
    {
        WScript.echo(WScript.Arguments.Item(i+1) + ": " +
            WScript.Arguments.Item(i+2));
        req.setRequestHeader(WScript.Arguments.Item(i+1),
            WScript.Arguments.Item(i+2));
    }
}
try
{
       if (filename != null)
       {
          WScript.echo();
          var fso = new ActiveXObject("Scripting.FileSystemObject");
          var file = fso.OpenTextFile(filename, 1, false);
          var fileContents = file.ReadAll();
          file.Close();
          WScript.echo(fileContents);
          req.Send(fileContents);
          printResponse(req);
       }
       else
       {
          req.send();
          printResponse(req);
       }
}
catch(e)
{
   WScript.echo();
   WScript.echo("******* Response ********* ");
   WScript.echo(e.message);
}
function printResponse(req)
{
   WScript.echo();
   WScript.echo("******* Response ********* ");
   WScript.echo("HTTP/1.1" + " " + req.status + " " + req.statusText);
   var headers = req.getAllResponseHeaders();
   WScript.echo(headers);
   WScript.echo(req.responseText);
}

抱歉!评论已关闭.