<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    冷面閻羅

    低調(diào)做人&&高調(diào)做事
    隨筆 - 208, 文章 - 3, 評論 - 593, 引用 - 0
    數(shù)據(jù)加載中……

    HTTP請求發(fā)送XML數(shù)據(jù)

    ???? ?http請求發(fā)送一些簡單的數(shù)據(jù),大家應(yīng)該知道,直接在url后加"?參數(shù)名=參數(shù)值&參數(shù)名=參數(shù)值&",但是數(shù)據(jù)過多,這樣發(fā)送就不可以,不管post還是get數(shù)據(jù)量超過2m好像都不行.當(dāng)數(shù)據(jù)量大的時候可以采用xml格式,發(fā)送,此時發(fā)送方法就要改一下,不能在url地址后面加參數(shù)了,這是要用到

    ?????????????????var?Http? = ? new ?ActiveXObject( " Microsoft.XMLHTTP " )?
    ????????????????????Http.open(
    " POST " ,GZURL, false )?
    ????????????????????Http.setRequestHeader(
    " CONTENT-TYPE " , " text/xml;?charset?=?gb2312 " );
    ?????????????????Http.send(message)?
    ?????? 在httpserver中接受?
    ????????request.setCharacterEncoding("GB2312");
    ????????ServletInputStream?inStream?
    =?request.getInputStream();

    ??????? 接受到的數(shù)據(jù)為一個流,流中包含xml數(shù)據(jù),如果直接對流操作,轉(zhuǎn)化成string然后再操作就有些麻煩了.此時用jdom操作這個xml的流,直接生成xml對象
    SAXBuilder?sb?=?new?SAXBuilder();?//?新建立構(gòu)造器
    ????????????doc?=?sb.build(inStream);
    ????????????Element?root?
    =?(Element)?doc.getRootElement();
    ??????? 對這個xml的doc對象操作,想必大家應(yīng)該會吧!先得到根節(jié)點(diǎn),然后再得到子節(jié)點(diǎn).....

    posted on 2007-01-25 15:36 冷面閻羅 閱讀(8727) 評論(8)  編輯  收藏 所屬分類: java 、ajax

    評論

    # re: HTTP請求發(fā)送XML數(shù)據(jù)  回復(fù)  更多評論   

    不是2M吧 ,是2K , 又好像是4K, 反正沒2M那么夸張
    2007-01-25 23:20 | z.wei

    # re: HTTP請求發(fā)送XML數(shù)據(jù)  回復(fù)  更多評論   

    我記不請了在什么地方看,應(yīng)該就是2m,如果是2k那也太小了吧
    2007-01-26 08:55 | 冷面閻羅

    # re: HTTP請求發(fā)送XML數(shù)據(jù)[未登錄]  回復(fù)  更多評論   

    是2K,不是2M。
    2007-01-26 13:45 | Tony

    # re: HTTP請求發(fā)送XML數(shù)據(jù)  回復(fù)  更多評論   

    是2K嗎,我使用的時候,GET時只有1K,POST時好像有4K。反正沒有2M那么多,要是那么多的話,我就不用那么煩了
    2007-02-01 10:25 | errorfun

    # re: HTTP請求發(fā)送XML數(shù)據(jù)[未登錄]  回復(fù)  更多評論   

    GET的參數(shù)長度為2K的字節(jié)(漢字為1024個),而POST是沒有的。造成這種區(qū)別的原因是GET是連接后提交,而POST則是連接前提交。這么說吧,就是GET在切換超鏈接的時候?qū)?shù)一起帶過去的;而POST則是先跟目標(biāo)url建立起一條數(shù)據(jù)通道,將數(shù)據(jù)提交過去,然后再切換到目標(biāo)url的。區(qū)別的實(shí)質(zhì)是有沒有在提交時建立一條數(shù)據(jù)通道。
    從它們的名字也可以看出這種關(guān)系:GET是指目標(biāo)url主動去“拿”,因?yàn)槭秋@性給傳過去了;而POST則是走“郵箱”郵過去了,隱形傳遞,因此也就沒有大小限制。呵呵,不知這么說是否貼切。
    由于數(shù)據(jù)通道的存在,因此POST提交時會自動地將數(shù)據(jù)進(jìn)行“iso-8859-1”的編碼,這也就是為什么POST會產(chǎn)生亂碼而GET不會的原因。
    呵呵,我知道的就這些了。
    2007-02-13 11:29 | Tony

    # re: HTTP請求發(fā)送XML數(shù)據(jù)  回復(fù)  更多評論   

    php可以模擬不?
    2011-11-15 22:04 | 余票查詢

    # re: HTTP請求發(fā)送XML數(shù)據(jù)  回復(fù)  更多評論   

    String xmlString = "<?xml version='1.0' encoding='gb2312'?>"
    + "<Req>"
    + "<EventContentReq>"
    + "<EventID>101</EventID >"
    + "</EventContentReq>"
    + "</Req>";

    byte[] xmlData = xmlString.getBytes();

    String urlStr = "http://124.128.62.164:7001/FetchTaskDataServlet";

    DataInputStream input = null;

    java.io.ByteArrayOutputStream out = null;

    try{

    //獲得到位置服務(wù)的鏈接

    URL url = new URL(urlStr);

    URLConnection urlCon = url.openConnection();

    urlCon.setDoOutput(true);

    urlCon.setDoInput(true);

    urlCon.setUseCaches(false);

    //將xml數(shù)據(jù)發(fā)送到位置服務(wù)

    urlCon.setRequestProperty("Content-Type", "text/xml");

    urlCon.setRequestProperty("Content-length",String.valueOf(xmlData.length));

    DataOutputStream printout = new DataOutputStream(urlCon.getOutputStream());

    printout.write(xmlData);

    printout.flush();

    printout.close();

    input = new DataInputStream(urlCon.getInputStream());

    byte[] rResult;

    out = new java.io.ByteArrayOutputStream();

    byte[] bufferByte = newbyte[256];

    int l = -1;

    int downloadSize = 0;

    while ((l = input.read(bufferByte)) > -1) {

    downloadSize += l;

    out.write(bufferByte, 0, l);

    out.flush();

    }

    rResult = out.toByteArray();

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

    DocumentBuilder db = dbf.newDocumentBuilder();

    Document d = db.parse(new ByteArrayInputStream(rResult));

    String TaskAddr = d.getElementsByTagName("TaskAddr").item(0).getFirstChild().getNodeValue();

    System.out.println("TaskAddr:"+TaskAddr);

    }

    catch(Exception e){

    e.printStackTrace();

    }

    finally {

    try {

    out.close();

    input.close();

    }

    catch (Exception ex) {

    }

    }
    2014-05-20 21:18 | 4

    # re: HTTP請求發(fā)送XML數(shù)據(jù)  回復(fù)  更多評論   

    ios中的發(fā)送裸數(shù)據(jù)xml怎么發(fā)送
    2014-09-23 10:19 | 夜鶯
    主站蜘蛛池模板: 免费乱理伦在线播放| 四虎永久在线观看免费网站网址| 午夜免费福利影院| 亚洲精品福利你懂| 性色av无码免费一区二区三区| 亚洲永久中文字幕在线| 国产免费不卡视频| 亚洲乱码日产精品BD在线观看| 在线视频免费观看爽爽爽| 久久精品国产亚洲av麻豆蜜芽 | 亚洲一区中文字幕在线观看| 5555在线播放免费播放| 亚洲国产中文在线视频| 国产成人免费爽爽爽视频| 亚洲另类自拍丝袜第五页| 午夜毛片不卡高清免费| 国产精品亚洲综合天堂夜夜| 亚洲高清国产拍精品青青草原 | 亚洲2022国产成人精品无码区| 一区二区三区四区免费视频 | 免费一区二区视频| 一级一片免费视频播放| 亚洲av无码不卡一区二区三区| 无码国产精品一区二区免费16| 亚洲人成免费网站| 国产午夜免费福利红片| 成人在线免费视频| 亚洲日本一区二区| 野花高清在线观看免费完整版中文| 亚洲午夜无码久久久久小说| 亚洲成a人片在线观看久| 国产一级片免费看| 亚洲综合一区国产精品| 亚洲一本大道无码av天堂| 未满十八18禁止免费无码网站| 亚洲色欲色欱wwW在线| 亚洲色无码一区二区三区| 亚欧在线精品免费观看一区| 亚洲精品久久无码av片俺去也 | 99无码人妻一区二区三区免费 | 色偷偷噜噜噜亚洲男人|