1

私は次のようにshopifyを呼び出そうとしています:

HttpClient.GetAsync(https://---apikey---:---password---@---shop---.myshopify.com/admin/orders.xml)

しかし、Unauthorized 401 の結果が何度も出てきます。Chrome で URI をテストすると正常に動作するため、HttpClient は、shopify が必要とする URL に埋め込まれた認証データを何らかの形で処理できないと思います。

新しい .NET 4.5 HttpClient でこれを行う方法を知っている人はいますか?

4

2 に答える 2

3

HttpClientHandlerのインスタンスを作成し、Credentialsインスタンスを作成して、これをHttpClientで使用することができます。

            var clientHandler = new HttpClientHandler
                                    {
                                        Credentials = new NetworkCredential("Username", "Password"),
                                        PreAuthenticate = true
                                    };

            var httpClient = new HttpClient(clientHandler);

            var responseMessage = httpClient.GetAsync("http://url").Result;

この場合、URIでusername@passwordを渡す必要はありません。

于 2012-11-21T12:44:11.433 に答える
1

クリスの答えは死んでいます。

.NET で Shopify API を操作するさらに洗練された方法についても興味がある場合は、Shopify の公式 .NET アダプターを確認してください: https://github.com/cmcdonaldca/shopify.net

于 2012-11-24T23:14:02.653 に答える