Выполнение вызова cURL GET - это C # и .Net - PullRequest
0 голосов
/ 18 октября 2019

Я никогда не использовал cURL в прошлом. Я довольно опытный в c # и .net, а также в javascript / jquery, но я пытаюсь использовать приведенный ниже вызов cURL и превратить его в запрос HttpClient через c # и MVC и просто проанализировать результаты и отобразить их в стиле на странице. Никогда не будет времени, чтобы я загружал или POST что-либо в API, только извлекал активные данные и анализировал их на веб-стороне.

вызов:

curl -k -H "Content-Type: application/json"
-H 'x-mjf-organization-id: 9'
-H 'x-mjf-api-key: 00000-9999-22222-2222-222'
https://test-site.info.com//v1/info

На основеПри наличии идентификатора организации и API-ключей от стороннего хоста все полученные данные будут независимы от моей организации. Я действительно не уверен, с чего начать, я копался во многих других сообщениях, касающихся cURL, но большинство из них для загрузки и публикации данных, а не просто для извлечения и анализа. Любые хорошие ссылки для меня будут оценены. спасибо

1 Ответ

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

Это должно быть более или менее эквивалентно:

using var client = new HttpClient();
using var request = new HttpRequestMessage(HttpMethod.Get, "");
//this header doesn't really make sense for a GET request...
//request.Headers.Add("Content-Type", "application/json");
request.Headers.Add("x-mjf-organziation-id", "9");
request.Headers.Add("x-mjf-api-key", "...");

var response = await client.SendAsync(request);

Если -k действительно необходимо, вы можете настроить глобальную обработку сертификатов, которая игнорирует все ошибки сертификатов, такие как

ServicePointManager.ServerCertificateValidationCallback += (s, cert, chain, err) => true;

Примечание: Это следует делать только для целей тестирования, а не для производства.

Если вы хотите отключить проверку сертификатов для этого HttpClient, вы можете настроить это, создавэто с настроенным HttpClientHandler:

var handler = new HttpClientHandler();
handler.ServerCertificateCustomValidationCallback = (s, cert, chain, err) => true;
using var client = new HttpClient(handler);
[...]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...