HttpWebRequest по SSL с удостоверениями клиента

find . -iname "*.php" | xargs -I {} echo "iconv -f ISO-8859-1 -t UTF-8 \"{}\" > \"{}-utf8.php\""
5
задан DIF 28 February 2012 в 11:39
поделиться

1 ответ

Использует ли сервер базовую аутентификацию HTTP или какую-либо другую? Если используется базовый HTTP, вы можете установить для свойства Credentials в веб-запросе учетные данные, содержащие правильное имя пользователя и пароль, и установить для свойства PreAuthenticate значение true.

Вот пример. пример (он не тестировался, поэтому используйте его только в качестве рекомендации):

var uri = new Uri("https://somesite.com/something");
var request = WebRequest.Create(uri) as HttpWebRequest;
request.Credentials = new NetworkCredential("myUserName","myPassword");
request.PreAuthenticate = true;

var response = request.GetResponse();

Примечание. По моему опыту, в .NET framework наблюдается некоторая странность. Вы могли подумать, что он должен делать то, что говорит код, но на самом деле он делает следующее:

  • Отправить запрос на сервер без учетных данных
  • Сервер отвечает 401
  • Повторно отправить запрос с учетными данными, которые вы ему дали
  • Сервер принимает запрос.

Я понятия не имею, почему он это сделал, поскольку он кажется сломанным, так что, возможно, это была причуда моей машины и, возможно, она выиграла '

5
ответ дан 14 December 2019 в 19:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: