2016-04-11 12 views
0

C#を使用して別のサーバーのAPIを呼び出す必要があります。 私は次のような方法cでクロスドメインAPIを呼び出す方法#

using (HttpClient client = new HttpClient()) 
       { 
        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "tolen"); 
        var result = await client.GetStringAsync("url"); 
        return JsonConvert.DeserializeObject(result); 
       } 

を使用していますが、それは常に

を禁じ

403を与える、私はこのAPIの開発を求めていると、彼は私がプリフライトリクエストを送信する必要があることが示唆されましたもあります。

+0

呼び出しているサービスもあるさC#で? – Mostafiz

+0

外部ドメインの開発者はCORSを許可するようにAPIを設定する必要があります。飛行前のリクエストは、このリクエストが外部APIによって許可されているかどうかを確認するだけです。 (app.UseCors(CorsOptions.AllowAll);) –

+0

CORSはブラウザ(Jquery)からアクセスできるので許可されています。 C#で飛行前のリクエストを作成できますか? – user1552663

答えて

0

あなたのサービスコードは、C#で書かれている場合、あなたは上記のコード

 [EnableCors(origins: "*", headers: "*", methods: "*")] 
     public string Get() 
     { 

以下のようなAPIメソッドセクションのクロスドメインアクセスを有効にすることができ、すべての外部ドメインに対してCORSを有効にいますが、この方法によってのみ、独自のドメインを指定することができます

[EnableCors(origins: "http://yourdomain.com", headers: "*", methods: "*")] 

便利な二つのリンクhttps://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api https://msdn.microsoft.com/en-us/magazine/dn532203.aspx

関連する問題