在HTTP请求中卷曲-u等效

时间:2016-01-06 15:41:27

标签: http curl

我一直在尝试为项目插入Toggl API,他们的示例都使用了CURL。我正在尝试使用C#包装器,这在尝试创建报告时会导致错误的请求,所以我想我会使用Postman来尝试一个简单的HTTP请求。

我似乎无法接受HTTP请求来接受我的API令牌。这是他们给出的例子(CURL):

=

我已经使用Postman尝试了以下HTTP请求,其中包含一个名为的标头 api_token,我的令牌为值:

curl -u my-secret-toggl-api-token:api_token -X GET "https://www.toggl.com/reports/api/v2/project/?page=1&user_agent=devteam@example.com&workspace_id=1&project_id=2"

(当然更改了ID和电子邮件)。

任何有关如何在HTTP中使用CURL -u的帮助都将不胜感激,谢谢。

3 个答案:

答案 0 :(得分:15)

简单的方法是将凭据添加到网址user:pass@格式。

https://my-secret-toggl-api-token:api_token@www.toggl.com/reports/api/v2/project/?page=...
        <---------------------------------->

或者,您可以将凭证与http标头一起使用,如下所示:

Authorization: Basic XXXXXX

此处XXXXXXbase64(my-secret-toggl-api-token:api_token)

答案 1 :(得分:0)

正如另一篇文章中向我解释的那样,如果您使用的是HttpWebRequest,则可以将api令牌传递给用户属性:

request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes($"my-secret-toggl-api-token:api_token")));

答案 2 :(得分:0)

使用fetch

node环境中,您的请求可能看起来像这样:

const url = 'https://www.toggl.com/reports/api/v2/project/page=1&user_agent=devteam@example.com&workspace_id=1&project_id=2';
const token = 'my-secret-toggl-api-token:api_token';

fetch(url, {
  method: 'GET', // not required
  headers: {
    Authorization: `Basic ${Buffer.from(String(token)).toString('base64')}`,
  },
})