400错误java_java代码转化成c#代码 报400错误

问题描述:java代码调用接口没问题,不管post的数据是正确的还是错误,都能有响应,但改为c#代码后报错:The remote server returned an error: (400) Bad Request.

代码大致如下:

java代码:

//hostURI: https://agcod-gamma-cn.amazon.com/CreateGiftCard

URL hostConnection = new URL(hostURI);

HttpURLConnection conn = (HttpURLConnection)

hostConnection.openConnection();

conn.setRequestMethod("POST");

//contentType = "application/x-www-form-urlencoded; charset=UTF-8"; conn.setRequestProperty("accept", contentType);

conn.setRequestProperty("content-type", contentType);

// host = "agcod-gamma-cn.amazon.com";

conn.setRequestProperty("host", host);

// 20130826T051152Z  根据当前时间生成的一个字符串

conn.setRequestProperty("x-amz-date" , dateTimeString);

//com.amazon.agcod.AGCODService

conn.setRequestProperty("x-amz-target", serviceTarget);

//一个加密的字符串,

conn.setRequestProperty("authentication", authorizationValue);

conn.setDoOutput(true);

OutputStream output = conn.getOutputStream();

output.write(payload.toString().getBytes("UTF-8"));

BufferedReader in = null;

String inputLine;

if (conn.getResponseCode() != 200)

{ in = new BufferedReader(new InputStreamReader(conn.getErrorStream())); } else { in = new BufferedReader(new InputStreamReader(conn.getInputStream())); }

System.out.println("\nRESPONSE:\n");

while ((inputLine = in.readLine()) != null)

{ System.out.println(inputLine );}

转换的C#代码

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(hostURI);

request.Method = "POST";

request.Accept = contentType;

request.ContentType = contentType;

request.Host = host;

request.Headers.Add("x-amz-date", dateTimeString);

request.Headers.Add("x-amz-target", serviceTarget);

request.Headers.Add("authentication", authorizationValue);

Stream output = request.GetRequestStream();

byte[] contentBytes = Encoding.UTF8.GetBytes(payload.ToString());

output.Write(contentBytes, 0, contentBytes.Length);

output.Close();

string inputLine;

HttpWebResponse response = request.GetResponse() as HttpWebResponse;

当c#代码执行到最后一行的时候,报出400的错误:The remote server returned an error: (400) Bad Request.

大家谁知道,这是什么问题呢,谢谢大家的帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值