Как подключиться к API с помощью Restsharp - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь подключиться к API с помощью RestSharp, однако получаю следующую ошибку:

Попытка подключения не удалась, поскольку подключенная сторона не ответила должным образом через определенный промежуток времени или установилане удалось подключиться, потому что подключенный хост не смог ответить <ipaddress>:<port>

Код:

var client = new RestClient("https://api.infobip.com/sms/1/text/advanced");

var request = new RestRequest(Method.POST);
request.AddHeader("accept", "application/json");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Basic " + Base64Encode());
request.AddParameter("application/json", ReturnJsonData(sms), ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

Странно то, что код прекрасно работает в консольном приложении, но не может подключитьсявеб-приложение. Помогите, пожалуйста.

1 Ответ

0 голосов
/ 14 октября 2019

Проблема, с которой вы сталкиваетесь, может быть связана не с кодом, а с TLS.

Если вы работаете в среде dotnet 4.5 и выше, используйте код ниже в Startup.cs

public void Configuration(IAppBuilder app) {
        System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
        ConfigureAuth(app);
    }

Если вы используете .net framework ниже 4.5, используйте приведенный ниже код в Global.asax

 ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; //TLS 1.2
 ServicePointManager.SecurityProtocol = (SecurityProtocolType)768; //TLS 1.1
...