首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用银行api时:远程服务器返回错误:(401)未授权

调用银行api时:远程服务器返回错误:(401)未授权
EN

Stack Overflow用户
提问于 2018-05-09 20:16:39
回答 1查看 228关注 0票数 1

我正在尝试使用下面的代码获取访问银行api,以便使用参数调用银行API,并在调用显示未经授权的API时使用用户名和密码验证url,但在这里我添加了证书并设置了cros-option,但仍然出现错误。

代码语言:javascript
复制
Anyone can help me....

:
 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.UseDefaultCredentials = true;
            request.PreAuthenticate = true;
            request.Credentials = CredentialCache.DefaultCredentials;
            request.Method = "POST";
            request.PreAuthenticate = true;
            request.ContentType = "application/x-www-form-urlencoded";
            request.Credentials = new NetworkCredential("testclient", "test@123");
            System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
            Byte[] byteArray = encoding.GetBytes(jsonContent);
            request.ContentLength = byteArray.Length;    //  request.ContentType = "application/json";    //request.ContentType = "";
            using (Stream dataStream = request.GetRequestStream())
            {
                dataStream.Write(byteArray, 0, byteArray.Length);
            }
            long length = 0;
            try
            {
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                {
                    length = response.ContentLength;
                    if (response.StatusCode != HttpStatusCode.OK) throw new Exception(String.Format(
                        "Server error (HTTP {0}: {1}).", response.StatusCode,
                    response.StatusDescription));
                    Stream stream1 = response.GetResponseStream();
                    StreamReader sr = new StreamReader(stream1);
                    string strsb = sr.ReadToEnd();
                    object objResponse = JsonConvert.DeserializeObject(strsb);
                    //return objResponse;
                }

            }
            catch (WebException ex)
            {
                // Log exception
            }

The remote server returned an error: (401) Unauthorized.
EN

回答 1

Stack Overflow用户

发布于 2018-05-11 18:20:15

在标题中添加带有pass、client id和secret的证书

X509Certificate证书=新X509Certificate2("D:\demo\temp.crt","temp",X509KeyStorageFlags.MachineKeySet);request.ClientCertificates.Add(证书);request.ContentType =NetworkCredential=新X509Certificate2(“temp”,"temp");request.Headers.Add(“授权”,“授权”);request.Headers.Add(“X-IBM-X509Certificate-id”,"id");Request.Headers.Add(“X-IBM客户端机密”,"secret");

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50253211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档