<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 | 夜鶯
    主站蜘蛛池模板: 男女午夜24式免费视频| 国产成人va亚洲电影| 污污网站18禁在线永久免费观看| 亚洲国产高清在线一区二区三区| 亚洲国产成人综合精品| 精品久久洲久久久久护士免费| 亚洲国产区男人本色在线观看| 永久免费AV无码国产网站| 亚洲老熟女五十路老熟女bbw| 成熟女人特级毛片www免费| 亚洲成a人无码亚洲成av无码| 国产男女性潮高清免费网站| 亚洲av无码一区二区三区人妖 | 最近中文字幕电影大全免费版 | 亚洲色av性色在线观无码| 久久久久成人精品免费播放动漫| 久久久久亚洲av无码专区 | 日韩在线天堂免费观看| 粉色视频在线观看www免费| 亚洲无码高清在线观看| 久久aⅴ免费观看| 亚洲不卡1卡2卡三卡2021麻豆| 女人18特级一级毛片免费视频| 香蕉视频在线观看免费| 国产AV无码专区亚洲AV手机麻豆| 无码日韩精品一区二区三区免费| 亚洲国产精品午夜电影| 国产大片91精品免费观看男同| a级毛片免费全部播放| 亚洲国产人成在线观看| 婷婷亚洲天堂影院| 亚洲视频在线免费观看| 亚洲AV无码XXX麻豆艾秋| 亚洲国产另类久久久精品| 99在线视频免费观看视频| 一级毛片无遮挡免费全部| 666精品国产精品亚洲 | 国产一级淫片a免费播放口之| 两个人www免费高清视频| 国内精品久久久久影院亚洲| 亚洲日本韩国在线|