要做的一个东东是定单查询的,不过数据是外站的,所以只好这样弄ASP里面用XMLHTTP可以实现,在.net里面有没XMLHTTP呢?我知道HttpWebRequest可以截取页面,但怎么POST数据到外站呢?

解决方案 »

  1.   

    //site 为外站路径
    string url="http://www.csdn.net";
    HttpWebRequest httpWebRequest = (HttpWebRequest) WebRequest.Create(url);
    httpWebRequest.Method="POST";
    httpWebRequest.Timeout=60000000;
    httpWebRequest.ContentType="application/x-www-form-urlencoded";
    System.IO.Stream newStream=httpWebRequest.GetRequestStream();

    int streamPosition = 1;
    byte[] inBuf = new Byte[1024];
    while (streamPosition > 0) 
    {
    streamPosition = filePost.PostedFile.InputStream.Read(inBuf, 0, inBuf.Length);
    newStream.Write(inBuf, 0, inBuf.Length);
    }
    newStream.Close(); HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
    if (httpWebResponse.ContentLength>0)
    {
    System.IO.Stream responseStream = httpWebResponse.GetResponseStream();
    byte[] readBut=new Byte[httpWebResponse.ContentLength];
    responseStream.Read(readBut,0,readBut.Length); string str=System.Text.UTF8Encoding.UTF8.GetString(readBut,0,readBut.Length);
    Response.Write(str);
    }
    httpWebResponse.Close();
      

  2.   

    int streamPosition = 1;    //初始化流的位置
    byte[] inBuf = new Byte[1024];  //设置一个字节为1k的???不明白
    while (streamPosition > 0)  //为什么要用循环呢?
    {
    streamPosition = filePost.PostedFile.InputStream.Read(inBuf, 0, inBuf.Length);
    newStream.Write(inBuf, 0, inBuf.Length);
    }
    newStream.Close();搞不明白这段的意思
      

  3.   

    xmlHttp是javascript的东西,asp.net也可以用