Basic-аутентификация с помощью C#

220
25 февраля 2017, 03:03
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.IO;
namespace Update
{
    class Program
    {
        static void Main(string[] args)
        {
            var request = WebRequest.Create("url");
            SetBasicAuthHeader(request, "name", "password");
            var response = request.GetResponse();
        }
        public void SetBasicAuthHeader(WebRequest request, String userName, String userPassword)
        {
            string authInfo = userName + ":" + userPassword;
            authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
            request.Headers["Authorization"] = "Basic " + authInfo;
        }
    }
}

При выполнении выдаёт ошибку:

Ошибка 1 Для нестатического поля, метода или свойства "Update.Program.SetBasicAuthHeader(System.Net.WebRequest, string, string)" требуется ссылка на объект E:\Update\Program.cs 17 13 Update

Что я делаю не так?

Answer 1

Надо объявить метод SetBasicAuthHeader как статический, чтобы можно было вызвать его из другого статического метода без создания объекта.

public static void SetBasicAuthHeader(WebRequest request, ...)
{
  ...
}
READ ALSO
Непредвиденный знак $

Непредвиденный знак $

При компиляции выдаёт ошибку в коде: ConsoleWriteLine - Непредвиденный знак $

492
Как получить файл через socket в UWP(Windows 10)

Как получить файл через socket в UWP(Windows 10)

Программа по передаче файлов с помощью сокетов и TCP/IPВ документации Microsoft нашёл рабочий пример получения сообщения

242
Узнать запущен ли процесс по PID

Узнать запущен ли процесс по PID

Есть консольный скрипт (1), который при запуске пишет в базу свой PID полученный функцией getmypid()

430
Как оптимизировать код php/mysql?

Как оптимизировать код php/mysql?

Как можно оптимизировать код, представленный ниже?

388