<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ù)量大的時(shí)候可以采用xml格式,發(fā)送,此時(shí)發(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ù)為一個(gè)流,流中包含xml數(shù)據(jù),如果直接對流操作,轉(zhuǎn)化成string然后再操作就有些麻煩了.此時(shí)用jdom操作這個(gè)xml的流,直接生成xml對象
    SAXBuilder?sb?=?new?SAXBuilder();?//?新建立構(gòu)造器
    ????????????doc?=?sb.build(inStream);
    ????????????Element?root?
    =?(Element)?doc.getRootElement();
    ??????? 對這個(gè)xml的doc對象操作,想必大家應(yīng)該會(huì)吧!先得到根節(jié)點(diǎn),然后再得到子節(jié)點(diǎn).....

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

    評論

    # 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嗎,我使用的時(shí)候,GET時(shí)只有1K,POST時(shí)好像有4K。反正沒有2M那么多,要是那么多的話,我就不用那么煩了
    2007-02-01 10:25 | errorfun

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

    GET的參數(shù)長度為2K的字節(jié)(漢字為1024個(gè)),而POST是沒有的。造成這種區(qū)別的原因是GET是連接后提交,而POST則是連接前提交。這么說吧,就是GET在切換超鏈接的時(shí)候?qū)?shù)一起帶過去的;而POST則是先跟目標(biāo)url建立起一條數(shù)據(jù)通道,將數(shù)據(jù)提交過去,然后再切換到目標(biāo)url的。區(qū)別的實(shí)質(zhì)是有沒有在提交時(shí)建立一條數(shù)據(jù)通道。
    從它們的名字也可以看出這種關(guān)系:GET是指目標(biāo)url主動(dòng)去“拿”,因?yàn)槭秋@性給傳過去了;而POST則是走“郵箱”郵過去了,隱形傳遞,因此也就沒有大小限制。呵呵,不知這么說是否貼切。
    由于數(shù)據(jù)通道的存在,因此POST提交時(shí)會(huì)自動(dòng)地將數(shù)據(jù)進(jìn)行“iso-8859-1”的編碼,這也就是為什么POST會(huì)產(chǎn)生亂碼而GET不會(huì)的原因。
    呵呵,我知道的就這些了。
    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 | 夜鶯
    主站蜘蛛池模板: 亚洲人成无码网WWW| 亚洲视频国产精品| 久久久久久A亚洲欧洲AV冫| 亚洲国产精品一区第二页| 亚洲91精品麻豆国产系列在线| 久久精品熟女亚洲av麻豆| 久久免费精品视频| 国产一区二区免费在线| 99久久精品国产亚洲| 亚洲精品黄色视频在线观看免费资源 | 九九视频高清视频免费观看| 97在线视频免费播放| 亚洲男人的天堂在线va拉文| 亚洲国产精品无码久久| 青青草无码免费一二三区| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 一级做性色a爰片久久毛片免费| www.亚洲精品.com| 亚洲国产精品成人精品无码区| 精品一区二区三区免费观看| 成人午夜视频免费| 亚洲AV成人精品网站在线播放| 国产AV无码专区亚洲AV琪琪| 9久9久女女免费精品视频在线观看| 亚洲AV无码久久| 三年片在线观看免费| 国产精品亚洲精品日韩已方| a毛片全部免费播放| 在线观看亚洲精品福利片| 美女扒开尿口给男人爽免费视频 | 一区二区亚洲精品精华液 | 久久国产精品亚洲一区二区| 中文字幕免费在线看线人动作大片| av无码久久久久不卡免费网站 | 亚洲w码欧洲s码免费 | 久久丫精品国产亚洲av| 免费看少妇作爱视频| 亚洲av无码片在线观看| 国产免费黄色大片| 国产免费一区二区视频| 亚洲男人天堂2022|