DaringLi
DaringLi

Reputation: 409

setRequestProperty function of HttpURLConnection

I achieve the POST request in Android and upload a picture to service successful.

I did not use the setRequestProperty function; But I want to know what the effect about this function is.

This is the code:

URL url = new URL("http://192.168.191.104:8080/myapp/servlet/MyServlet");
HttpURLConnection connection = ((HttpURLConnection) url
        .openConnection());
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setRequestMethod("POST");
connection.connect();
OutputStream out = connection.getOutputStream();
int len;
byte[] buffer = new byte[1024];
// 读取文件
FileInputStream fileInputStream = new FileInputStream(Environment
        .getExternalStorageDirectory().getAbsolutePath() + "/123.jpg");
while ((len = fileInputStream.read(buffer, 0, 1024)) != -1) {
    out.write(buffer);
}
out.flush();
out.close();
fileInputStream.close();
InputStream input = connection.getInputStream();
while ((len = input.read(buffer)) != -1) {
    Log.i("tag", "data:" + new String(buffer, 0, len));
}
input.close();
connection.disconnect();

Could anyone explain the effect of setRequestProperty function in HttpURLConnection?

Upvotes: 1

Views: 18870

Answers (2)

Nirali
Nirali

Reputation: 13805

Mainly setRequestProperty is used to set below things as per the requirement

connection.setRequestProperty("Connection", "Keep-Alive");
connection.setRequestProperty("Content-Type", "multipart/form-data;boundary="+boundary);

or

Connection.setRequestProperty("Content-Type", "text/plain; charset=utf-8");

Sometimes it become necessary that you have to specify Content-type for the connection.

Upvotes: 1

DjHacktorReborn
DjHacktorReborn

Reputation: 2928

Sets the value of the specified request header field. The value will only be used by the current URLConnection instance. This method can only be called before the connection is established.

More Details

Upvotes: 0

Related Questions