java post发送图片_java 发送 post 请求上传图片

构造http header时,设置content-length为内容部分字节数,但是总是无效。

通过wireshark抓到的包和设置的content-length不符合。

private void initConnection() throws Exception {

conn = (HttpURLConnection) this.url.openConnection();

conn.setDoOutput(true);

conn.setDoInput(true);

conn.setUseCaches(false);

conn.setConnectTimeout(1000); //连接超时为10秒

conn.setRequestMethod("POST");

conn.setRequestProperty("connection", "keep-alive");

conn.setRequestProperty("Content-Type","multipart/form-data; boundary=" + boundary);

conn.setRequestProperty("Content-Length",String.valueOf(5889));

}

好的,针对您的问题,我可以给您一些代码示例来演示如何添加请求头和发送 POST 请求。 添加请求头: ```java import java.net.HttpURLConnection; import java.net.URL; public class HttpUrlConnectionExample { public static void main(String[] args) { try { URL url = new URL("https://www.example.com"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setRequestProperty("User-Agent", "Mozilla/5.0"); conn.setRequestProperty("Accept-Language", "en-US,en;q=0.5"); int responseCode = conn.getResponseCode(); System.out.println("Response code: " + responseCode); } catch (Exception e) { e.printStackTrace(); } } } ``` 在上面的代码中,我们创建了一个 HttpURLConnection 对象,并使用 setRequestProperty() 方法添加了一些请求头信息,包括 User-Agent 和 Accept-Language。 发送 POST 请求: ```java import java.io.DataOutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.nio.charset.StandardCharsets; public class HttpUrlConnectionExample { public static void main(String[] args) { try { URL url = new URL("https://www.example.com"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); String postData = "param1=value1&param2=value2"; byte[] postDataBytes = postData.getBytes(StandardCharsets.UTF_8); DataOutputStream wr = new DataOutputStream(conn.getOutputStream()); wr.write(postDataBytes); wr.flush(); wr.close(); int responseCode = conn.getResponseCode(); System.out.println("Response code: " + responseCode); } catch (Exception e) { e.printStackTrace(); } } } ``` 在上面的代码中,我们创建了一个 HttpURLConnection 对象,并设置了请求方法为 POST。然后我们使用 setRequestProperty() 方法添加了 Content-Type 请求头,指定了请求体的格式为 application/x-www-form-urlencoded。接着,我们使用 setDoOutput() 方法设置为 true,表示我们要发送一个请求体。然后我们将请求参数转换成字节数组,并使用 DataOutputStream 将其写入请求体中。最后,我们使用 getResponseCode() 方法获取响应码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值