HttpURLConnection.setRequestMethod看方法说明:设置 URL 请求的方法, 
GET 
POST 
HEAD 
OPTIONS 
PUT 
DELETE 
TRACE 
以上方法之一是合法的,具体取决于协议的限制。默认方法为 GET。
虽然我发送数据的方式就是POST,但我必须自定义成其他名字。因为服务器端只接收定义好的 请求名。如果是POST,那么服务器会忽略这个请求。可能用setRequestMethod肯定是不行了,那么有什么其他方式可以实现呢? 如果是用j2me的话可以写完全自定义的请求报文,然后把报文转换为byte[]进行write。如: 对IP,端口进行连接之后操作DataOutputStream.write(str.getBytes());但是常规java该怎么做呢?

解决方案 »

  1.   

    这区真冷清啊。java程序员都不用eclipse吗?
      

  2.   

    汗,CSDN上怎么全问的很怪的问题啊?
      

  3.   


    那我就想用java代码去写,能实现吗?
    我是C#转过来的,java才用了几天,不熟悉。
    但请求的方法名字只是一个字面含义的东西,和协议本身并没有关系。 用C#的话,是不限定你使用什么样的字符串作为RequestMethod的。
    例子代码:HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(strUrl);
    myRequest.Method = "SNET";
    myRequest.ContentType="application/octet-stream";
    myRequest.ContentLength = data.Length;
    myRequest.KeepAlive = true;
    System.IO.Stream newStream=myRequest.GetRequestStream();
    newStream.Write(data,0,data.Length); //向发送缓冲区写入字节流
    newStream.Close();
      

  4.   

    我自己实现了,直接socket做。
    感谢参与。