веб-сервисы — Razor (cshtml) эквивалент использования cURL (php) для вызова остальных API

Я успешно позвонил в остальные API, используя curl следующим образом:

 $curl = curl_init();

curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, $_POST["logInEmail"] . ":" . $_POST["logInPassword"]);

curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_URL, "http://<theURL>/api/session");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($curl);

curl_close($curl);

echo $result; //for testing, otherwise it would be inside a function and use return...

Тем не менее, мой рабочий проект не в php, поэтому я не могу использовать это. Я пытался с AJAX, но я получаю «Блокирован запрос на перекрестное происхождение», поэтому я должен изучить это в Razor (cshtml).

Я хотел бы знать, возможно ли вообще написать это в cshtml.

ОБНОВИТЬ:
В конце концов я заставил его работать, поэтому я опубликую код на случай, если кому-то понадобится в будущем.

string _auth = string.Format("{0}:{1}", "username","password");
string _enc = Convert.ToBase64String(Encoding.ASCII.GetBytes(_auth));

var url = "http://api url";

var client = new WebClient();

client.Headers.Add("contentType", "application/json");
client.Headers.Add("Authorization", "BASIC " + _enc);

var content = client.UploadString(url, "");
var search = Json.Decode(content);

Тогда я просто использую переменную поиска, чтобы использовать данные из ответа (в этом случае она возвращает данные пользователя и токен авторизации, и я настраиваю локальный сеанс).

Также, если кто-то может объяснить, почему это не должно быть сделано в сценарии с бритвой, это будет здорово (согласно комментарию Мортена О.К.).

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]