GetResponse на сайт Sharepoint не авторизован - PullRequest
0 голосов
/ 09 октября 2008

У меня есть следующий код, который пингует типичный анонимный веб-сайт без проблем, но я получаю либо несанкционированную ошибку, либо запрещенную. Вот код, который дает мне запрещенную ошибку.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;

public partial class Ping : System.Web.UI.Page
{
    protected string PingResponseTime(string url)
    {
        // Create a 'WebRequest' object with the specified url. 
        WebRequest myWebRequest = WebRequest.Create(url);
    myWebRequest.Credentials = new NetworkCredential("username","password","domain");
        myWebRequest.Timeout = 90000;
        string requestTime, elapsedSecs;
        // If trace enabled - set the Trace
        WebHeaderCollection myWebCollection = new WebHeaderCollection();
        myWebCollection.Add("Trace", "1");
        myWebRequest.Headers = myWebCollection;
        // Send the 'WebRequest' and wait for response. 
        DateTime startTime = DateTime.Now;       // Start time
        myWebRequest.GetResponse();              // Web Request
        DateTime stopTime = DateTime.Now;        // End Time
        TimeSpan duration = stopTime - startTime;     // Time Diff
    //    succededStr = "1";
        requestTime = startTime.ToString();
        elapsedSecs = duration.ToString().Substring(6);
        return elapsedSecs;
    }

    protected void btnPing_Click(object sender, EventArgs e)
    {
        lblResponseTime.Text = PingResponseTime(txtURL.Text.ToString());
    }
}

Что я делаю не так, что я получаю запрещенную ошибку при пинге сайта Sharepoint? Я даже пробовал сайт Sharepoint с включенным анонимным доступом.

1 Ответ

1 голос
/ 10 октября 2008

Вы пытались заменить строку:

myWebRequest.Credentials = new NetworkCredential("username", "password", "domain");

с:

myWebRequest.Credentials = CredentialCache.DefaultCredentials;

или:

myWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...