2017-02-14 24 views
0

在我的java代碼中,我需要向其他人運行的服務器發送POST請求,以便在其服務器上登錄。但是,我嘗試登錄不起作用。如何驗證我的Java代碼是否實際發送了POST請求?

我希望能夠確定我的代碼的哪個部分產生此錯誤。有沒有一種方法可以檢查錯誤是否發出POST請求,使連接成爲GET請求?

+0

查看responseCode? –

+0

問題是,服務器的響應與沒有發送任何數據並僅使用GET請求來檢索頁面相同,所以我不確定它是否確實發送了我希望它發送的數據,而我還聽說過有關數據未被髮送的問題。 –

+1

暫時讓它使用你自己的服務器。然後觀看服務器日誌。或者,如果它不是HTTPS,則可以使用Wireshark。 (這包括如果您有意使用自己的非HTTPS服務器進行測試) – immibis

回答

1

您可以在瀏覽器中的開發人員工具欄中查看您的請求。如果這不是您的選擇,那麼您可以使用Charles Debugger或Wireshark等工具。

1

如果您正在使用HttpClient庫發送HTTP POST請求,那麼我建議修改你的log4j.properties文件如下

#Logger configuration for Apache Commons HTTP Client 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%5p [%c] %m%n 
log4j.logger.httpclient.wire=debug, stdout 

這將打印完整的請求(頭,身體,URL & PARAMS)&響應(頭文件,正文)正在進行。

希望可以幫到