亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么將 C# HTTP 請求轉換為 Java 不起作用?

為什么將 C# HTTP 請求轉換為 Java 不起作用?

躍然一笑 2022-06-04 10:57:19
我正在嘗試使用 Microsoft Custom Vision了解更多。我需要發出 HTTP 請求來發送要分析的圖像。我成功地從 C# 發出請求,所以我知道信息是正確的。但是,當我嘗試在 Java 中發出相同的請求時,我收到了 HTTP 400 錯誤。我相信我沒有在 Java 中正確處理請求。真的嗎?以下是片段。C#:var client = new HttpClient();client.DefaultRequestHeaders.Add("Prediction-Key", PredicitionKey);using (var content = new ByteArrayContent(byteData)){  content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");  response = await client.PostAsync(url, content);  Console.WriteLine(await response.Content.ReadAsStringAsync());}爪哇:HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestProperty("Prediction-Key", predicitionKey);connection.setRequestProperty("Content-Type", "application/octet-stream");connection.setDoInput(true);connection.setDoOutput(true);connection.getOutputStream().write(data.getData());connection.connect();Reader in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
查看完整描述

1 回答

?
慕后森

TA貢獻1802條經驗 獲得超5個贊

一、更換

connection.connect();

connection.getResponseCode();

如果它仍然不起作用,那么標題就是問題所在。

由于 C# 代碼運行成功

您的 C# 請求和提琴手中的 Java 請求之間的唯一區別是 Java 請求有兩個額外的標頭(Accept、User-Agent)。

嘗試明確設置它們

connection.setRequestProperty("Accept", "*/*");
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36");

如果仍然不起作用,請嘗試刪除這兩個標頭或檢查您在請求正文中發送的數據。


查看完整回答
反對 回復 2022-06-04
  • 1 回答
  • 0 關注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號