Звучит очень похоже на проблему, с которой я столкнулся в последнее время, которая была вызвана настройками автоматического определения прокси в «Свойствах обозревателя» в Windows.
Amazon SDK использует WebRequest
для выполнения своих HTTP-запросов и по умолчанию WebRequest
придерживается настроек компьютера «Internet Option» для обнаружения локальных прокси. К счастью, WebRequest
обладает статическим свойством WebRequest.DefaultWebProxy
, которое при значении null
удаляет автоматическое определение прокси.
Все, что вам нужно сделать, это установить null
, прежде чем начать использовать AmazonS3
:
WebRequest.DefaultWebProxy = null; // here
AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKey, secretAccessKey);
[...]
Стоит отметить, что это статическое свойство нужно устанавливать только один раз для каждого домена приложения, а не каждый раз, когда вы хотите создать AmazonS3
объект.
Альтернативный подход:
Если вы не против перенастройки машины, перейдите по адресу:
Windows Control Panel > Internet Options > Connections > Lan Settings
и снимите флажок «Автоматически определять настройки». Если вы используете этот подход, вам вообще не нужно устанавливать свойство DefaultWebProxy
.
Дополнительная информация:
Когда я столкнулся с проблемой, я задал следующий вопрос о SO:
Как отключить автоматическое определение прокси в объекте `AmazonS3`?
Здесь есть больше деталей, чем мой ответ, если вам интересно.