? ? ? ?在java中我們可以很方便的調(diào)用各種類庫處理各種字符,那你知道在Java中如何獲取URL的內(nèi)容嗎?其實Java獲取URL的內(nèi)容的方法非常簡單,一起來看看以下內(nèi)容吧。
? ? ? ?第一:創(chuàng)建HttpURLConnection
? ? ? ?第二:打開URL,創(chuàng)建一個InputStream
? ? ? ?第三:逐行(逐字節(jié))讀取,如果需要,轉(zhuǎn)換編碼,放入字符串。
? ? ? ?好,一下就開始代碼吧:
其中
l_connection.setRequestProperty("User-agent","Mozilla/4.0");
這句是必須的,很多服務器對于沒有User-agent頭的請求直接403了就。
然后采用InputStream.available()來一次性讀取,返回此輸入流方法的下一個調(diào)用方可以不受阻塞地從此輸入流讀取(或跳過)的字節(jié)數(shù),如果需要的話,可以在后面稍微Sleep一下線程:
Thread.sleep(2000);
其中的
?
?
是個很重要的讀取過程,c表示讀取流的標注,當結(jié)束的時候是-1,然后all是本次循環(huán)可用的最大字節(jié)數(shù)目,然后讀取全部可用字節(jié)到byte[] b中,然后轉(zhuǎn)換成UTF-8類型的字符串,注意,這里可以自己寫方式,如果讀取GB2312,就要寫GB2312,至于有沒有萬能的,可以獲取Meta,匹配下。自己想辦法吧。
? ? ? 通過上面的內(nèi)容你知道在Java中如何獲取URL的內(nèi)容的方法了嗎?其實POST和其它方式的都是比較類似的。只要掌握三點技術(shù)要點即可。
新聞熱點
疑難解答