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

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

在 Java 中復制 PHP POST 請求

在 Java 中復制 PHP POST 請求

PHP
汪汪一只貓 2023-11-03 20:26:56
我有這個有效的 PHP 腳本,它向舊服務器(我無權訪問)發出 POST 請求。我需要用 Java/Spring 編寫一個 REST api 來處理與這個舊服務器的所有通信。但是,我確實不斷收到以下異常:SSLHandshakeException:DH ServerKeyExchange 不符合算法約束我的猜測是服務器的安全級別太低(我無法更改)。PHP 腳本設置了一個 SSL 密碼列表,我不知道如何在 Java 中復制。因此問題是,如何降低 Java 應用程序的安全級別,以便它可以與服務器通信?php代碼:$ch = curl_init($url);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $json);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf8'));curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,4);curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, "AES128-SHA");$response = curl_exec($ch);echo $response;我寫的Java代碼:CloseableHttpClient client = HttpClients.createDefault();    HttpPost httpPost = new HttpPost(url);httpPost.setEntity(new StringEntity(json));CloseableHttpResponse response = client.execute(httpPost); //Here SSLHandshakeException occurs    String result = getResultStringFromResponse(response);    client.close();return result;一般來說,我對 POST 請求的經驗非常有限,并且已經研究這個問題好幾天了,但沒有任何進展。任何指導/提示將不勝感激!
查看完整描述

1 回答

?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

我通過刪除 java 對 http 請求所需的關鍵約束來解決這個問題。

這是通過轉到我的 jdk 文件夾并刪除文件 /conf/security/java.security 中的“DH keySize < 1024”來完成的。這一變化使得java接受服務器的低安全級別。如果有人知道如何在運行時執行此操作(例如僅針對特定的 POST 請求),那將是一個更好的解決方案。



查看完整回答
反對 回復 2023-11-03
  • 1 回答
  • 0 關注
  • 141 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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