【发布时间】:2017-08-01 20:37:54
【问题描述】:
我是一名 C# 开发人员,我需要使用 webhook 在 gethostpage 之后通过重定向获取一些内容。 如果我使用 GET(获取事件,获取我的 webhook),一切都很好,但是当我要创建一个新的 webhook 时,我得到一个“远程服务器返回错误:(400)错误请求。”当然这是一件愚蠢的事情,但我被困住了。
有什么建议吗?
请求
byte[] encoded = System.Text.Encoding.Default.GetBytes(apiLogin + ":" + transactionKey);
string base64 = System.Convert.ToBase64String(encoded);
var isPost = !string.IsNullOrWhiteSpace(json);
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.ContentType = "application/json; charset=utf-8";
httpWebRequest.Method = isPost ? "POST" : "GET";
httpWebRequest.Headers.Add("Authorization", "Basic " + base64);
httpWebRequest.CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
if (isPost)
{
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
streamWriter.Write(json);
streamWriter.Flush();
}
}
string result = null;
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
result = streamReader.ReadToEnd();
return result;
}
return result;
我正在尝试文档 sample 中的 JSON 示例
【问题讨论】:
-
您是否查看了从您发送到服务器的实际 URL,例如使用 Fiddler?需要哪些 URL 和标头以及您发送哪些 URL 和标头?
-
发现,在使用"post" webhook之前需要在商家面板中创建签名,"get"也可以不做
标签: c# authorize.net authorize.net-webhooks