Ⅰ 如何用java發送http報文
給你一個吧,這個能抓取任何程序
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class WebClient{
public static String getWebContent(String urlString,final String charset,int timeout) throws IOException {
if(urlString==null||urlString.length()==0) {
return null;
}
urlString = (urlString.startsWith("http://") || urlString
.startsWith("https://")) ? urlString : ("http://" + urlString)
.intern();
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn
.setRequestProperty(
"User-Agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)");//增加報頭,模擬瀏覽器,防止屏蔽
conn.setRequestProperty("Accept", "text/html");//只接受text/html類型,當然也可以接受圖片,pdf,*/*任意,就是tomcat/conf/web裡面定義那些
conn.setConnectTimeout(timeout);
try {
if(conn.getResponseCode()!=HttpURLConnection.HTTP_OK) {
return null;
}
} catch (IOException e) {
e.printStackTrace();
return null;
}
InputStream input = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(input,
charset));
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = reader.readLine()) != null) {
sb.append(line).append("\r\n");
}
if(reader!=null) {
reader.close();
}
if(conn!=null) {
conn.disconnect();
}
return sb.toString();
}
public static String getWebContent(String urlString) throws IOException {
return getWebContent(urlString,"iso-8859-1",5000);
}
public static void main(String[]args) throws IOException {
String s = getWebContent("http://www.sina.com");
s = new String(s.getBytes("iso-8859-1"),"gb2312");
System.out.println(s);
}
}
Ⅱ java大報文介面怎麼處理
Java 處理大報文介面一般需要注意以下幾個方面:
1. 使用合適的數據結構存儲和傳輸大報文。在處理大報文時,需要注意報文的數據大小和結芹搜螞構,怎樣更好的處理和傳輸大報文是一個重要的問題。Java提供了多種數據結構用於存儲和傳輸數據,比如List、Set等,根據數據特點選擇合適的數據結構是非常重要的。
2. 使用流式讀取或逐行讀取大報文。在處理大報文時,可以考慮使用流式讀取或逐行讀取的方式,避免一次性讀取所有內容,導致內存耗盡的情況。在Java中可以使用BufferedReader等對大文件進行讀取。
3. 分塊傳輸。在傳輸大報文時,可以採用分塊傳輸的方式,將大報文劃分成固定大小的塊進行傳輸,避免一次性傳輸大報文導致網路擁堵等問題。在Java中可以使用ByteBuffer類對大文件進行分塊傳輸。
4. 壓縮和加密大報文。在傳輸大報文時,可以採用數據壓縮和加密的方式,有效地提高傳輸速度和安全性。在Java中可以使用GZip類和BZip2類等進行數據壓縮,使用AES、DES等加密演算法對數據進行加密。
5. 使用線程池等機制,避免對系統資源佔用過多。在處理大報文時,需要注意對系統資源的佔用情況。如果所有處理任務都由一個線程負責,可能會導致系統崩潰。因此可以使用線程池等機漏陪制,分配合理的任務數,避免過高的系統資源佔用。
綜上所述,處理大報文介面需要綜合嫌埋考慮多個方面,從數據的存儲、傳輸、讀取、壓縮和加密等多個角度進行處理,以避免對系統資源的佔用和處理效率的下降。
Ⅲ JAVA Socket如何封裝一個電文包
應該定義消息格式,通過指定的消息類型來理解並分類處理消息,一個好的通用型的消息通信模塊應該設計成支持靈活的消息格式,這樣才能做成獨立的模塊,沒有消息格式的代碼只能應用在特定的軟體中,不能移植到被以後的新的項目使用。 例如:
Messagemsg=newMessage("HeartBeat");
msg.setContent("");//心跳消息或許不需要內容。
ps.print(msg.toXML());//把消息編碼成類似<msgtype="1"></msg>
Messagemsg2=newMessage("QQ");
msg.setContent("你好");
ps.print(msg.toXML());//得到<msgtype="2">你好</msg>
服務端通過讀取這個xml就知道它的type是什麼類型的消息。這是基於純文本的消息,如果你希望以二進制類型發送也可以,比如:
前面2位元組是消息長度,第三個位元組是消息類型,後面是消息內容本身,服務端就在讀取時分析是否給定的長度的內容全部收到了,沒有收到就等待,以後按位元組位置找消息頭所說的類型。一般來說用二進制也很靈活,它和純文本沒有什麼差異,但純文本適合聊天之類的軟體,處理起來簡單。現在很多聊天軟體也是基於xml的,比如那個企業QQ就是這樣的(我曾經看到以前的版本的消息內容默認不加密的,可以直接用SQLLiteJDBC驅動讀取消息內容看,全是xml,不知道現在的QQ是不是)。
Ⅳ 用JAVA寫一個簡單的web伺服器, 怎麼生成響應報文呢
自己寫碼滑web伺服器,無非就是socket通信,io讀取輸入流,然後自己擾肆用遲李臘輸出流寫出報文。格式就用http格式。就這樣。
Ⅳ java如何從資料庫中組成報文發送給第三方校驗
按我的理解:
資料庫建個實體類,給他的報文建個實體類。用構造方法來相互轉換。
在構造方法中去掉你資料庫不想讓他看到的欄位(或者他不需要的欄位)
這就是所謂的出現Entity和Dto兩個實體類。
本人菜叢櫻鳥一個,希望對你有幫助。
我自己開了一個公眾號:「java經驗肢鄭慶總結」裡面也有學習資料,和面試題目,目前我也是在努力堅持在更,有句話說,做什麼都不晚,只要歷握你去做。堅持才是勝利,跑在第一的人也許所有人目前都在為他歡呼,他只是短暫的勝利,最終的勝利和歡呼是給那些又不放棄的人。
Ⅵ java如何組裝xml報文
可以用 我給你的方式組合xml報文
Ⅶ javaweb開發 這段代碼什麼意思,不知道怎麼用
LZ,
(1)springmvc 的 映射請求應該沒問喊彎題;
(2)showList() 方法是用於展示用戶信息的,傳進參數有兩個servlet(封裝了HTTP的請求報文信息) 和 model(前後端交互的數據模型);
(3)parsePageDto 的詳細代碼沒有,但是從直接引用,同時將請求request參數傳入,應該是獲取某個參數,然後返回pageDto類型參數,應該是公共的靜態方法,結合parsePageMap的使用,所以應該是對信息的分頁處理;
(4)model的setAttribute()方法就是把一些常量放置進去,供前端頁面的調用顯示;
(5)但是數據怎麼查詢的呢?是通過IUserRoleService業務類鄭鄭悶的service對象的selectPageList方法來獲取查詢結果的;
(6)最後返回一個String(jsp或者html的文件名)參數給視圖處理器,項目工程會叢蠢根據springmvc的配置信息來找到相應的前端頁面。
Ⅷ 用java實現udp報文的封裝並發送,報文欄位依次封裝到位元組數組裡面然後發送該報文數組,求教代碼和方法!
http://blog.csdn.net/mypongo/article/details/42241937
http://blog.csdn.net/socean_wang/article/details/52400117
看下這兩個鏈接,有詳細的沖畝解野判肢頌世釋和例子。
Ⅸ java如何處理icmp報文的收發怎麼都能發成功
你可以用socket編程,java socket是封裝了TCP協議的,不需要你去設置裡面的一些參數了。
Ⅹ java中報文啥時候用呢一直搞不懂
你可以了解一下http協議
報文就是一組客戶端和服務端都認可的信息數據。可以是xml形式,json格式。等等
比如有一個android客戶端向服務端發送登陸報文
<user>
<username></username>
<password>123456</password>
</user>
這段由客戶端到服務端的xml,就可以視為一個上行報文
服務端收到報文後會返回登陸成功或者失敗的信息
比如:200(成功)
404 (失敗)
甚至返回更詳細的失敗信息等等這個由服務端到客戶端的返回信息同樣可以是多樣性,可視為下行報文