使用java套接字编程上传速度测试

时间:2014-05-15 01:48:41

标签: java sockets http networking post

我目前正在使用java套接字进行上传测试。我找到了一个使用httpurlconnection的例子但是为了我的作业,我必须用套接字手动完成。此外,我将使用的服务器不接受HTTP PUT请求,只接受POST请求。因此,在那里我有一行看起来像这样:

    conn = new Socket(server, 80);
    outToServer = new DataOutputStream(conn.getOutputStream());
    inFromServer = new BufferedReader(new InputStreamReader(conn.getInputStream()));

    outToServer.writeBytes("POST...etc...");

我不太确定如何格式化POST请求。以下是我编写PUT请求失败的原因,因为我使用的服务器不接受PUT请求:

    outToServer.writeBytes("PUT /url/test1.txt HTTP/1.1\r\n"
                           + "Host: url.edu\r\n"
                           + "Content-Type: plain/text\r\n"
                           + "Connection: close\r\n\r\n");

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

试试这个

Socket conn = new Socket(server, 80);

BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(conn.getOutputStream(), "UTF8"));
writer.write("POST " + "http://www.example.com" + " HTTP/1.0\r\n");
writer.write("Content-Length: " + data.length() + "\r\n");
wr.write("Content-Type: plain/text\r\n");
writer.write("\r\n");

writer.write(data);
writer.flush();