報錯信息
這是我在項目操作中的一個HttpClient進行抓取數據發送請求的時候報的一個錯,看一下報錯的全部信息:
java.net.MalformedURLException: no protocol:
at java.net.URL.<init>(URL.java:596)
at java.net.URL.<init>(URL.java:493)
at java.net.URL.<init>(URL.java:442)
at test.HttpClientUtil.httpPost(HttpClientUtil.java:342)
at test.HttpClientUtil.main(HttpClientUtil.java:287)
問題描述:
我發送HttpClient用POST發送的一個帶參數的一個信息:
比如我現在要請求百度
https://www.baidu.com/?tn=44004473_2_oem_dg
Http解析:www.baidu.com 這個是我要請求的一個網址;tn是請求的帶參的參數,網站通過我的參數給我返回給我一些信息。
而我分析出來的就是我帶參數的時候我的tn後邊是沒有帶值是一個NULL所以拋出了這樣的一個錯誤。
解決方案:
檢查一下自己的請求的參數是不是NULL的,做一下判空處理,在發送請求參數的時候可以打印點日誌看看是不是你的參數是有的,當時鬱悶了我好久,最後看打印的日誌看出來這個問題。