HttpWebRequest.Credentials Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define informações de autenticação para a solicitação.
public:
virtual property System::Net::ICredentials ^ Credentials { System::Net::ICredentials ^ get(); void set(System::Net::ICredentials ^ value); };
public override System.Net.ICredentials Credentials { get; set; }
public override System.Net.ICredentials? Credentials { get; set; }
member this.Credentials : System.Net.ICredentials with get, set
Public Overrides Property Credentials As ICredentials
Valor da propriedade
Um ICredentials que contém as credenciais de autenticação associadas à solicitação. O padrão é null
.
Exemplos
O exemplo de código a seguir define as credenciais de uma solicitação.
#using <System.dll>
using namespace System;
using namespace System::Net;
using namespace System::Text;
using namespace System::IO;
// Specify the URL to receive the request.
int main()
{
array<String^>^args = Environment::GetCommandLineArgs();
HttpWebRequest^ request = dynamic_cast<HttpWebRequest^>(WebRequest::Create(args[1]));
// Set some reasonable limits on resources used by this request
request->MaximumAutomaticRedirections = 4;
request->MaximumResponseHeadersLength = 4;
// Set credentials to use for this request.
request->Credentials = CredentialCache::DefaultCredentials;
HttpWebResponse^ response = dynamic_cast<HttpWebResponse^>(request->GetResponse());
Console::WriteLine("Content length is {0}", response->ContentLength);
Console::WriteLine("Content type is {0}", response->ContentType);
// Get the stream associated with the response.
Stream^ receiveStream = response->GetResponseStream();
// Pipes the stream to a higher level stream reader with the required encoding format.
StreamReader^ readStream = gcnew StreamReader(receiveStream, Encoding::UTF8);
Console::WriteLine("Response stream received.");
Console::WriteLine(readStream->ReadToEnd());
response->Close();
readStream->Close();
}
/*
The output from this example will vary depending on the value passed into Main
but will be similar to the following:
Content length is 1542
Content type is text/html; charset=utf-8
Response stream received.
<html>
...
</html>
*/
using System;
using System.Net;
using System.Text;
using System.IO;
public class Test
{
// Specify the URL to receive the request.
public static void Main (string[] args)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(args[0]);
// Set some reasonable limits on resources used by this request
request.MaximumAutomaticRedirections = 4;
request.MaximumResponseHeadersLength = 4;
// Set credentials to use for this request.
request.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Console.WriteLine("Content length is {0}", response.ContentLength);
Console.WriteLine("Content type is {0}", response.ContentType);
// Get the stream associated with the response.
Stream receiveStream = response.GetResponseStream();
// Pipes the stream to a higher level stream reader with the required encoding format.
StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
Console.WriteLine("Response stream received.");
Console.WriteLine(readStream.ReadToEnd());
response.Close();
readStream.Close();
}
}
/*
The output from this example will vary depending on the value passed into Main
but will be similar to the following:
Content length is 1542
Content type is text/html; charset=utf-8
Response stream received.
<html>
...
</html>
*/
Imports System.Net
Imports System.Text
Imports System.IO
Public Class Test
' Specify the URL to receive the request.
Public Shared Sub Main(ByVal args() As String)
Dim request As HttpWebRequest = CType(WebRequest.Create(args(0)), HttpWebRequest)
' Set some reasonable limits on resources used by this request
request.MaximumAutomaticRedirections = 4
request.MaximumResponseHeadersLength = 4
' Set credentials to use for this request.
request.Credentials = CredentialCache.DefaultCredentials
Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
Console.WriteLine("Content length is {0}", response.ContentLength)
Console.WriteLine("Content type is {0}", response.ContentType)
' Get the stream associated with the response.
Dim receiveStream As Stream = response.GetResponseStream()
' Pipes the stream to a higher level stream reader with the required encoding format.
Dim readStream As New StreamReader(receiveStream, Encoding.UTF8)
Console.WriteLine("Response stream received.")
Console.WriteLine(readStream.ReadToEnd())
response.Close()
readStream.Close()
End Sub
End Class
'
'The output from this example will vary depending on the value passed into Main
'but will be similar to the following:
'
'Content length is 1542
'Content type is text/html; charset=utf-8
'Response stream received.
'...
'
'
Comentários
A Credentials propriedade contém informações de autenticação para identificar o criador da solicitação. A Credentials propriedade pode ser um NetworkCredential, caso em que as informações de usuário, senha e domínio contidas no NetworkCredential objeto são usadas para autenticar a solicitação ou pode ser um CredentialCache, caso em que o URI (Uniform Resource Identifier) da solicitação é usado para determinar o usuário, a senha e as informações de domínio a serem usadas para autenticar a solicitação.
Na maioria dos cenários de cliente, você deve usar a DefaultCredentials propriedade , que contém as credenciais do usuário conectado no momento. Para fazer isso, defina a UseDefaultCredentials propriedade como true
em vez de definir essa propriedade.
Se a HttpWebRequest classe estiver sendo usada em um aplicativo de camada intermediária, como um aplicativo ASP.NET, as credenciais na DefaultCredentials propriedade pertencem à conta que executa a página ASP (as credenciais do lado do servidor). Normalmente, você definiria essa propriedade para as credenciais do cliente em cujo nome a solicitação é feita.
Observação
O esquema de autenticação NTLM não pode ser usado para representar outro usuário. O Kerberos deve ser configurado especialmente para dar suporte à representação.
Para restringir HttpWebRequest a um ou mais métodos de autenticação, use a CredentialCache classe e associe suas credenciais a um ou mais esquemas de autenticação
Os esquemas de autenticação com suporte incluem Digest, Negotiate, Kerberos, NTLM e Basic.
Por motivos de segurança, ao seguir redirecionamentos automaticamente, armazene as credenciais que você deseja incluir no redirecionamento em um CredentialCache e atribua-as a essa propriedade. Essa propriedade será definida automaticamente como null
após o redirecionamento se contiver algo, exceto um CredentialCache. Ter esse valor de propriedade definido automaticamente como null
nessas condições impede que as credenciais sejam enviadas para qualquer destino não intencional.
Aplica-se a
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários