/*
* POST方法是向服务器传送数据,以便服务器做出相应的处理。例如网页上常用的
* 提交表格。
*/
public void POST(String url,String content) {
try {
checkHTTP(url);
openServer(target.getHost(),target.getPort() );
String cmd = "POST "+ getURLFormat(target) +"HTTP/1.0\r\n"+getBaseHeads();
cmd += "Content-type: application/x-www-form-urlencoded\r\n";
cmd += "Content-length: " + content.length() + "\r\n\r\n";
cmd += content+"\r\n";
sendMessage(cmd);
receiveMessage();
}catch(ProtocolException p) {
p.printStackTrace();
return;
}catch(UnknownHostException e) {
e.printStackTrace();
return;
}catch(IOException i){i.printStackTrace();
return;
}}---------------------------------------
String cmd = "POST "+ getURLFormat(target) +"HTTP/1.0\r\n"+getBaseHeads();
这句有问题,HTTP/1.0\r\n前少了空格:
String cmd = "POST "+ getURLFormat(target) +" HTTP/1.0\r\n"+getBaseHeads();

解决方案 »

  1.   

    emin_lee() 指出了一个小错误,但是程序运行还是有错误.还是不行,关键就是下面这句不知道有没有错误.望高手指点!!tp.POST("http://babelfish.altavista.com/tr","doit=done&intl=1&tt=urltext&trtext=计算机&lp=Chinese-simp to English&btnTrTxt=Translate");
      

  2.   

    你的中文是不是需要用URLEncoding处理一下
      

  3.   

    上面的问题被我转化成下面的问题:下面是程序的源代码,大家可以跑跑它,在返回的结果中出现了乱码的现象,只有关键的两处出现了乱码,请高手指点啊!!!谢谢.import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.MalformedURLException;
    import java.net.URL;public class TestYou {
      static protected void getURL(String u)
      {
        URL url;
        InputStream is;
        InputStreamReader isr;
        BufferedReader r;
        String str;  
        try
        {
          System.out.println("Reading URL: " + u );
          url = new URL(u);
          is = url.openStream();
          isr = new InputStreamReader(is,"utf-8");
          r = new BufferedReader(isr);
          do
          {
            str = r.readLine();
            if(str!=null)
            {
             System.out.println( str );
       
            }     
          } while( str!= null );
        }
        catch(MalformedURLException e)
        {
          System.out.println("Must enter a valid URL");
        }
        catch(IOException e)
        {
          System.out.println("Can't connect");
        }
          
      }
      static public void main(String args[])
      {
      getURL("http://babelfish.altavista.com/tr?kls=0&ienc=utf8&doit=done&intl=1&tt=urltext&trtext=%E8%AE%A1%E7%AE%97%E6%9C%BA&lp=zh_en&btnTrTxt=Translate");
       }
      
    }