Примечание: есть ответ с более высоким голосованием . Из-за сортировки SO она ниже принятого ответа.
У меня тоже была та же проблема, и я решил ее следующим образом:
- Запустил Fiddler со своей стандартной конфигурацией.
- Запустил IE и сделал HTTP-запрос к внешнему веб-сайту.
- Появился диалог авторизации прокси, где я ввел свои учетные данные.
- В Fiddler искал заголовки запроса для «Proxy-Authorization».
- Скопировал значение заголовка, которое выглядело как «Basic sOMeBASE64eNCODEdSTRING =» в буфер обмена.
Изменили файл CustomRules.js со следующей строкой в OnBeforeRequest:
oSession.oRequest ["Proxy-Authorization"] = "Basic sOMeBASE64eNCODEdSTRING =";
Так что мой подход был очень похож на ваш, но я заранее проверил, какой тип авторизации на прокси-сервере требуется с помощью Fiddler для отладки заголовка авторизации. Таким образом, я узнал, что мне нужно было добавить «Basic» до кодирования учетных данных Base64, и мне даже не пришлось использовать инструмент для кодирования учетных данных в Base64. Просто скопировал значение из заголовка авторизации прокси.
You'd usually see this in the implementation of an == operator.
For instance:
public static bool operator ==(Foo f1, Foo f2)
{
if (ReferenceEquals(f1, f2))
{
return true;
}
if (ReferenceEquals(f1, null) || ReferenceEquals(f2, null))
{
return false;
}
// Now do comparisons
}
You don't want to use:
if (f1 == f2)
because that will recurse into the same code! An alternative is:
if ((object)f1 == (object)f2)
(And the same for the null check.)
То же самое, если obj
типизирован как объект
.
Если переменная определяет тип оператор статического равенства или нулевой оператор, тогда он будет другим; и если obj
определен как Nullable
, тогда компилятор вмешается и вместо этого проверит HasValue
.