我试着像这样打电话给店铺:
HttpClient.GetAsync(https://---apikey---:---password---@---shop---.myshopify.com/admin/orders.xml)
但我一直收到未经授权的401结果。当我在chrome中测试uri它工作正常,所以我认为HttpClient无法处理嵌入在shopl所需的url中的身份验证数据。
任何小伙子都知道如何使用新的.NEt 4.5 HttpClient吗?
答案 0 :(得分: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中传递用户名@密码。
答案 1 :(得分:1)
克里斯的回答已经过时了。
如果您对使用Shopify API与.NET的更加流畅的方式感到好奇,请查看Shopify的官方.NET适配器:https://github.com/cmcdonaldca/shopify.net