zoukankan      html  css  js  c++  java
  • http方式的联调经验

        这近在做一个项目,现在刚与厂家做联调。我的系统是windows2008,他的测试机是unix,他本机是XP的。本来用httppost方式给他本机发送中文数据是正常的,但是发送到他的unix上,中文就变化了一大堆问号。开始觉得挺奇怪的,后来有个程序员说要对含有中文的URL进行编码。         

       stringResponse.Append("&Result=" +System.Web.HttpUtility.UrlEncode ("你好啊!") );

    按照上面的方式确实解决了一个问题,但是因为在url传递很多内容,怕是会受到限制,我们就采用了传递XML.   (  request.ContentType = "text/xml;charset=UTF-8";)

               stringResponse.Append("<response>");
                stringResponse.Append("<RequestId>" + _requestId + "</RequestId>");
                stringResponse.Append("<Result>" + _result + "</Result>");
                stringResponse.Append("<CompanyCode>" + _companyCode + "</CompanyCode>");  
                stringResponse.Append("</response>");

    传递过去以后是没有问题,但是在前面多了了一个问号。也确定了双方约定的格式都是utf-8,也不知道为什么。目前没有查到原因。

                userResponse.Result ="1";
                userResponse.RequestId = userRequest.RequestId;
                userResponse.CompanyCode = userRequest.CompanyCode;
                log.Info("操作结果状况:"+userResponse.ToString());
                Response.Write(userResponse.ToString());
                Response.Flush();
               // Response.Close();  //对方接收post数据超时,流没读完就关闭

    还有一个问题是在传递的过程中,我如果将Response.Close();写上,对方会因为等待数据超时而失败。只能将这句话注释掉。具体原因也不知道。

    这些问题都是我联调时的小问题,但是也是现在没想明白的。先记着,以后再看看能不能解决。

  • 相关阅读:
    笔记0510
    笔记0514
    笔记0521
    GridView专题
    笔记0418
    笔记0516
    笔记0515
    笔记0507
    Python 安装与环境变量配置
    ffmpeg 下载安装和简单应用
  • 原文地址:https://www.cnblogs.com/lss111520/p/3185604.html
Copyright © 2011-2022 走看看