2012-06-18 33 views
0

此刻我想在我的SharePoint热身脚本HTTP响应请求,但是,对于这一点,我将不得不使用此代码SharePoint 2007的热身脚本(替代HTTP请求)

using (System.IO.StreamReader file = new System.IO.StreamReader(filePath)) 
       while ((line = file.ReadLine()) != null) 
       { 
        try 
        { 
         WebRequest request = WebRequest.Create(line); 
         request.Proxy = null; 

         if ((userName == null) || (userName == "")) 
         { 
          request.Credentials = CredentialCache.DefaultCredentials; 
         } 
         else 
         { 
          CredentialCache myCache = new CredentialCache(); 
          myCache.Add(new Uri(line), "NTLM", new NetworkCredential(userName, password, DomainName)); 
          request.Credentials = myCache; 
         } 

         HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 

         using (Stream dataStream = response.GetResponseStream()) 
         using (StreamReader reader = new StreamReader(dataStream)) 
         { 
          string responseFromServer = reader.ReadToEnd(); 
          reader.Close(); 
          dataStream.Close(); 
          response.Close(); 
         } 

         Thread.Sleep(2000); 
        } 

我不假设使用任何用户帐户来获取响应,但是我可以使用仅在登录服务器时才起作用的默认凭证,否则他们将不会工作,我猜。

有没有做任何其他方式,不能使用PowerShell作为其MOSS非SharePoint 2010

欢呼

回答

2

您可以使用PowerShell的热身脚本。您可以调用stsadm命令,发出HTTP请求,甚至在进行正确的导入后使用服务器对象模型。

This post使用powershell使用stsadm检索可用网站。一旦脚本检索到这个列表,它就会实例化一个WebClient对象并点击每个站点的URL。

如果您只想点击列表中的网站,则可以简单地使用WebClient对象执行此操作。

+0

欢呼的答案,但STSADM使http请求从未听说过它之前 –

+0

你不*使用* STSADM来发出http请求,它们是两个不同的东西。注意答案中的逗号? –

1

或者,如果您的SSP中有工作的搜索服务,则可以配置预定爬网。您不仅可以从最新的抓取结果中受益,而且您的网站将在本地进行热身,而不需要额外的工作来完成“仅用于热身”。