我目前正在开发一个简单的java程序,用于测试ping,上传速度和下载速度。这是一个类项目,因此我不是使用java的httpURLConnection包,而是使用Java套接字手动完成。我发现很容易找到GET请求的格式,put无法找到PUT的格式。 例如,这是我的GET请求的外观:
//Create GET request
outToServer.writeBytes("GET / HTTP/1.1\r\n
+ "Host: " + server + "\r\n"
+ "Connection: close\r\n\r\n");
其中outToServer是使用Socket的outputStream的DataOutputStream。我正在寻找一种类似的方法来执行PUT将文件上传到服务器并测量时间。 非常感谢您的帮助!
答案 0 :(得分:1)
简而言之,格式是相同的,它有“PUT”而不是“GET”,它通常用于在服务器中“添加”或“更新”实体,所以在标题之后你会得到一个空行( \r\n\r\n
)然后是一个正文,其内容类型对应于标题“content-type”(例如,text / html或application / json)PUT请求的示例:
PUT /boo/foo.txt HTTP/1.1
Host: www.foo.com
Content-Type: plain/text
This is a testing content for the text file foo.txt
现在,服务器必须支持方法PUT(服务器不需要支持这种方法)