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

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

我從燒瓶中得到“錯誤 400”的返回。當調用來自 java/eclipse 代碼時

我從燒瓶中得到“錯誤 400”的返回。當調用來自 java/eclipse 代碼時

翻過高山走不出你 2021-12-01 19:04:04
我在燒瓶中有一個項目來獲取參數并且它可以工作,如果我通過郵遞員打電話。但是如果我用 java 代碼來做,它會返回錯誤 400。燒瓶:@app.route('/predict', methods=["POST"])def predict():    print("\nPredict......")    print(request.form)    print(request.form['textToPredict'])    print("\nPredict......2")    print(request.form.get("textToPredict"))    #print("Text...."+request.form['textToPredict'].toString())    # new text to predict    text_to_predict = [request.form['textToPredict'].lower()] #[request.form.get('textToPredict')]  # ["asmatica desde infancia ex fumante 15 am dopc em uso de o2 ha 1 ano em uso de alenia 400 /12  e formoterol 12    2 x dia mvdiminuido sra brn f 2 t s/s cta  rx pfp"]  # este deve retornar CID Z00    #print("Text....:"+str(text_to_predict))    # count_vect gera as posi??es dos vetores de cada palavra do texto.    new = count_vect.transform(text_to_predict)    # carrega o modelo treinado    loaded_model = cPickle.load(open(fname, 'rb'))    # faz a predi??o do novo texto de entrada    result = loaded_model.predict(new)    print(result)    # accuracy_score(y_test, result)    json_dict = request.get_json()    text = ''.join(result)    textPredicted = text    data = {'textPredicted': textPredicted}    return jsonify(data), 200java的輸出(打印燒瓶代碼):Predict......ImmutableMultiDict([('{"textToPredict":"coriza"}', '')])127.0.0.1 - - [22/Oct/2018 16:07:34] "POST /predict HTTP/1.1" 400 -郵遞員的輸出(打印 FLASK 代碼):Predict......ImmutableMultiDict([('textToPredict', 'coriza, dificuldade em respirar, febre, dor no corpo')])coriza, dificuldade em respirar, febre, dor no corpoPredict......2coriza, dificuldade em respirar, febre, dor no corpo['J06 ']127.0.0.1 - - [22/Oct/2018 16:20:00] "POST /predict HTTP/1.1" 200 -所以,看起來我的錯誤是在發送帖子時,它是由 java 代碼組成的。我不明白錯誤的原因。在我看來,參數在到達燒瓶時是不正確的,根據它提供的輸出。我需要一些幫助來解決這個問題。謝謝你。
查看完整描述

1 回答

?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

您的 java 代碼不正確,因為您試圖將 json 對象字符串發送到表單 url 編碼數據中。看起來像你的 Flask 控制器需要表單參數。你可以像這樣改變你的java代碼


String urlParam  = "textToPredict="+predicaoVo;

byte[] postData  = urlParam.getBytes( StandardCharsets.UTF_8 );


int dataLength = postData.length;


postConnection.setRequestProperty( "Content-Length", Integer.toString(dataLength));


try( DataOutputStream wr = new DataOutputStream(postConnection.getOutputStream())) {

   wr.write(postData);

}


查看完整回答
反對 回復 2021-12-01
  • 1 回答
  • 0 關注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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