我正在尝试使用下面的代码获取访问银行api,以便使用参数调用银行API,并在调用显示未经授权的API时使用用户名和密码验证url,但在这里我添加了证书并设置了cros-option,但仍然出现错误。
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.发布于 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");
https://stackoverflow.com/questions/50253211
复制相似问题