Windows Server 2003 и позже (т.е. что-либо после Windows XP 32 бита) обеспечивает where.exe
программа, которая делает часть из того, что which
делает, хотя это соответствует всем типам файлов, не только исполняемым командам. (Это не соответствует встроенным командам оболочки как cd
.) Это даже примет подстановочные знаки, таким образом where nt*
найдет все файлы в Вашем %PATH%
и текущий каталог, имена которого запускаются с nt
.
Попытка where /?
для справки.
Примечание, которое Windows PowerShell определяет where
как псевдоним для [1 111] Where-Object
cmdlet, поэтому если Вы хотите where.exe
, необходимо ввести полное имя вместо того, чтобы опустить .exe
расширение.
Думаю, если все, что вам нужно, это прочитать содержимое запроса, вы можете использовать WebRequest & WebResponse
, вот некоторые подробности об использовании этого
http: // www .west-wind.com / Presentations / dotnetWebRequest / dotnetWebRequest.htm
Спасибо, Джон - на случай, если это поможет кому-то еще, вот код, который я использую в моем файле ASHX:
public override void ProcessRequest(HttpContext context)
{
var strURL = context.Server.UrlDecode(context.Request["url"]);
WebResponse objResponse = default(WebResponse);
WebRequest objRequest = default(WebRequest);
string result = null;
objRequest = HttpWebRequest.Create(strURL);
objResponse = objRequest.GetResponse();
StreamReader sr = new StreamReader(objResponse.GetResponseStream());
result = sr.ReadToEnd();
//clean up StreamReader
sr.Close();
//WRITE OUTPUT
context.Response.ContentType = "application/json";
context.Response.Write(result);
context.Response.Flush();
}
Однако я получал пару дополнительных (в отличие от версии, полученной непосредственно из Yahoo! Pipes), поэтому мне пришлось удалить их перед анализом JSON.