将curl命令转换为C#代码

时间:2014-03-11 12:28:04

标签: c# api curl http-headers

我在将curl命令转换为c#代码时遇到问题。

我收到了一个curl命令,其中包含一个API密钥,如下所示:

curl -k -u x:459c4da6401d39bbf9327ee17175e25c 
        -H "Content-Type: application/json" https://disney.com/v1/services.json

当我在Fiddler中观看此调用时,我可以看到如下所示的标题值:

Authorization: Basic eDo0NTljNGRhNjQwMWQzOWJiZjkzMjdlZTE3MTc1ZTI1Yw==

因此,curl命令工作正常...但我无法在c#代码中复制它

我不明白x:459c4da6401d39bbf9327ee17175e25c如何更改为Authorization: Basic eDo0NTljNGRhNjQwMWQzOWJiZjkzMjdlZTE3MTc1ZTI1Yw==

接下来,我很困惑如何让我的c#代码从API密钥更改为我在Fiddler中看到的内容。

当我使用此代码添加标头时,授权失败:

httpWebRequest.Headers.Add("Authorization", "459c4da6401d39bbf9327ee17175e25c");

我也尝试过:

httpWebRequest.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes("459c4da6401d39bbf9327ee17175e25c"));

但是这会生成一个标题值:

Authorization: Basic NDU5YzRkYTY0MDFkMzliYmY5MzI3ZWUxNzE3NWUyNWM=

有人可以帮忙吗?

由于

1 个答案:

答案 0 :(得分:1)

eDo0NTljNGRhNjQwMWQzOWJiZjkzMjdlZTE3MTc1ZTI1Yw==x:459c4da6401d39bbf9327ee17175e25c的base64编码。试试online here

授权的请求标头将是您在上面编码的base64字符串。

httpWebRequest.Headers.Add("Authorization", "Basic eDo0NTljNGRhNjQwMWQzOWJiZjkzMjdlZTE3MTc1ZTI1Yw==");

您可以使用this linkc#中执行base64编码/解码。