我试图像这样称呼商店:
HttpClient.GetAsync(https://---apikey---:---password---@---shop---.myshopify.com/admin/orders.xml)
但是我一直得到未经授权的401结果。当我在 chrome 中测试 uri 时,它工作正常,所以我认为 HttpClient 不知何故无法处理嵌入在 shopify 所需的网址中的身份验证数据。
有没有男孩的身体知道如何用新的.NEt 4.5 HttpClient ?
您可以尝试创建 HttpClientHandler 的实例并创建一个凭据实例并在 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。
克里斯的答案是死的。
如果您也对使用带有.NET的Shopify API的更流畅的方式感到好奇,请查看Shopify的官方.NET适配器:https://github.com/cmcdonaldca/shopify.net