【发布时间】:2017-05-20 21:04:25
【问题描述】:
我需要帮助。
我正在尝试通过 API 连接网站,但它要求身份验证。 他们向我展示了 C# 的示例,但我想更改为 PHP。
我使用file_get_contents 来获取数据。
我如何将他们发送到我的请求的 HTML 标头中,并附上他们的名字。
我如何签名。
有网站说明。 总而言之,您可以将 C# 转换为 PHP 吗:)
API 身份验证:
与用户帐户相关的所有 API 调用都需要身份验证。
您需要提供3个参数来验证请求:
"X-PCK": API key
"X-Stamp": Nonce
"X-Signature": Signature
API key
您可以从您的交易账户中的账户 > API 访问页面创建 API 密钥。
随机数:
Nonce 是一个常规整数。它必须随着您提出的每个请求而增加。
一种常见的做法是对该参数使用 unix 时间。
签名:
签名是HMAC-SHA256 编码的消息。 HMAC-SHA256 代码必须使用包含时间戳和 API 密钥的私钥生成
示例(C#):
string message = yourAPIKey + unixTimeStamp;
using (HMACSHA256 hmac = new HMACSHA256(Convert.FromBase64String( yourPrivateKey ))){
byte[] signatureBytes = hmac.ComputeHash(Encoding.UTF8.GetBytes(message));
string X-Signature = Convert.ToBase64String(signatureBytes));
}
创建参数后,您必须在请求的 HTML Header 中将它们连同它们的名称一起发送
示例(C#):
client.DefaultRequestHeaders.Add("X-PCK", yourAPIKey);
client.DefaultRequestHeaders.Add("X-Stamp", stamp.ToString());
client.DefaultRequestHeaders.Add("X-Signature", signature);
【问题讨论】:
-
到目前为止你有什么 php?
-
我才刚刚开始。我是新手
标签: c# php api authentication