我有一臺CGI服務器,它將REQUEST_METHOD打印到系統日誌。 我有網頁可以GET和POST到該CGI和這兩種方法打印我所期望的。 我有一個可以通過它的java程序。 但是當我嘗試在Java中使用POST:來自java的HTTP POST作爲GET到達服務器
URL url = new URL("https://192.168.10.178/mycgi");
conn = (HttpsURLConnection)url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST"); // <- this bit!
InputStream is = conn.getInputStream();
結果爲零的內容長度的GET。 很明顯,我有更多的代碼來設置內容類型和配置,並將數據寫入其中,但是有或沒有剩餘的代碼,我仍然以GET請求到達服務器。
我發現這種抱怨這裏:
https://community.oracle.com/thread/1535571?start=0&tstart=0
,其中許多人似乎有同樣的問題,但沒有答案,在這裏:
Android HTTP POST request sent from application but server "sees" it as a GET request
如果解決方案是使用apache http客戶端,我寧願儘可能避免這種情況,因爲它增加了一些不需要它們的項目的依賴關係。
我在解釋這一個有點損失。任何人有任何建議?
從已刪除的答案中重複評論:請求採用「https:// 192.168.10.178/mycgi」的形式,並且絕對不包含?或=字符 –