java post请求返回500错误_java – 500来自HTTP POST请求的内部错误

我使用下面的代码使用HTTP POST上传文件,但我从服务器获得500内部服务器错误响应.

你能看一下,让我知道哪个代码部分是罪魁祸首/缺失. HTTPS连接没有错误,我认为Header中存在一些问题,因此服务器不接受此请求.

// Check server address

url = new URL("https://example.com");

String protocol = url.getProtocol();

String host = url.getHost();

String serviceRoot = url.getPath();

// Build POST request

HttpPost post = new HttpPost(new URI(protocol + "://" + host

+ serviceRoot));

post.addHeader("User-Agent", "Test");

post.addHeader("Content-type", "multipart/form-data");

post.addHeader("Accept", "image/jpg");

String authValue = "Basic "

+ Base64

.encodeBase64ToString(("username" + ":"

+ "password").getBytes()) + " " + "realm=\"example.com\"";

if (authValue != null) {

post.addHeader("Authorization", authValue);

}

File file = new File("/sdcard/Download/IMAG0306.jpg");

FileBody data = new FileBody(file);

String file_type = "jpg" ;

String description = "Test";

MultipartEntity reqEntity = new MultipartEntity();

reqEntity.addPart("file_name", new StringBody( file.getName() ) );

reqEntity.addPart("description", new StringBody(description));

reqEntity.addPart("file_type", new StringBody(file_type));

reqEntity.addPart("data", data);

post.setEntity(reqEntity);

if (true) {

String trace = ">>> Send HTTP request:";

trace += "\n " + post.getMethod() + " "

+ post.getRequestLine().getUri();

System.out.println(trace);

}

if (true) {

String trace = "<<< Send HTTP request-->:";

trace += "\n" + post.toString();

Header[] headers = post.getAllHeaders();

for (Header header : headers) {

trace += "\n" + header.getName() + " " + header.getValue();

}

System.out.println(trace);

}

HttpClient httpClient = createHttpClient();

// replace with your url

// “Authorization”, “Basic ” + encodedUsernamePassword);

if (httpClient != null) {

response = httpClient.execute(post);

if (true) {

String trace = "<<< Receive HTTP response:";

trace += "\n" + response.getStatusLine().toString();

Header[] headers = response.getAllHeaders();

for (Header header : headers) {

trace += "\n" + header.getName() + " " + header.getValue();

}

System.out.println(trace);

}

} else {

throw new IOException("HTTP client not found");

}

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值