我正在使用以下代码通过HTTP POST上传文件,但是我从服务器收到500 Internal Server Error响应。

您能否看一下,让我知道哪个代码部分是罪魁祸首/缺失。 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");

}

谢谢

最佳答案

500 Internal Server Error是服务器错误,即。问题出在服务器端,而不是客户端。您需要检查服务器日志以查看问题所在。

header 很好。如果标题错误,则会收到400 Bad Request或其他4xx错误。

java http 500错误怎么解决_java - HTTP POST请求中出现500内部错误相关推荐

  1. SAP中在 LMLCCS_UPDATEF02 LCL_DB 方法 get_normvector 头寸 A 中 RC 1 内部错误解决方法

    货物移动时报错提示:LMLCCS_UPDATEF02 LCL_DB 方法 get_normvector 头寸 A 中 RC 1 内部错误解决方法. 解决方法: 1.输入事务代码:SE38, 输入程序名 ...

  2. java内存溢出原因及解决_java内存溢出的原因和解决方法

    java内存溢出的原因和解决方法 发布时间:2020-06-15 17:57:39 来源:亿速云 阅读:85 作者:元一 内存溢出含义: 内存溢出(out of memory)通俗理解就是内存不够,通 ...

  3. java服务端高并发问题_Java服务端两个常见的并发错误

    理想情况来讲,开发在开始编写代码之前就应该讲并发情况考虑进去,但是大多数实际情况确是,开发压根不会考虑高并发情况下的业务问题.主要原因还是因为业务极难遇到高并发的情况. 下面列举两个比较常见的后端编码 ...

  4. python中遇到的问题及解决方法_自己编程中遇到的Python错误和解决方法汇总整理...

    >>> args = {'a':1,'b':2,'c':3} >>> args['d'] = 4 >>> f(**args) 1 2 3 4 ++ ...

  5. html500错误原因1003无标题,web工程中404/500错误页面配置+404页面模板

    [实例简介] web工程中404/500错误页面配置+404页面模板 [实例截图] [核心代码] 247959a9-c3ea-4360-8e57-105d680b29f0 ├── 404页面模板 │  ...

  6. get请求400错误 vue_解决axios发送post请求返回400状态码的问题

    今天在用 发送一个跨域的post请求时,遇到了一个坑:uncaught (in promise) error: request failed with status code 400. 前台代码如下: ...

  7. getch计算机错误,为什么getch()在C中抛出一个错误

    我正在Windows XP中的Code :: Blocks中运行一个C程序. 我得到一个错误为什么getch()在C中抛出一个错误 "drawing operation is attempe ...

  8. java索引丢失怎么解决_java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1解决办法...

    java.sql.SQLException: 索引中丢失  IN 或 OUT 参数:: 1 at oracle.jdbc.driver.DatabaseError.throwSqlException( ...

  9. java栈堆溢出怎么解决_java内存溢出示例(堆溢出、栈溢出)

    堆溢出:/** * @author LXA * 堆溢出 */ public class Heap { public static void main(String[] args) { ArrayLis ...

  10. java怎么设置快速修复键_Java开发环境之------MyEclipse快捷键和排除错误第一选择ctrl+1(***重点***:ctrl+1,快速修复---有点像vs中的快速using...

    [摘要:1,MyEclipse快速键设置装备摆设方式 2,经常使用快速键 : (1),alt+/ //内容提醒, 近似于vs中的ctrl+j ,即单词提醒,输进单词的前几个字母,然后提醒大概的单词. ...

最新文章

  1. Radar Installation(贪心,sort)
  2. TODO: ping和telnet
  3. 【小白学PyTorch】8.实战之MNIST小试牛刀
  4. 黑客技术的网站(❤️可以自学,建议收藏❤️)
  5. 学号20145332 《信息安全系统设计基础》实验四 驱动程序设计
  6. jenkins 项目启动日志_jenkins 修改启动文件即jdk路径、log路径和切换jenkins用户
  7. DWR自学笔记(1)HelloWorld
  8. C++可变长数组vector的使用
  9. GitHub 标星 1.6w+,前方宝藏项目出没!| 原力计划
  10. 用单片机测量流体流速的_沟渠流量测量系统宝山哪家质量好广州顺仪品牌
  11. Tomcat和eclipse的整合
  12. LINUX一个正确的mime xml范例
  13. postman自动化测试
  14. 电容麦克风测试软件,章和电气AudioExpress麦克风测试解决方案———您的音频测试专家...
  15. XP母盘制作详细教程(完全版)(转)
  16. word转html在前端页面显示
  17. 如何在华为云上服务器部署WEB网站
  18. ubuntu 下应用 Python 和 SL4A 的 Android 应用程序搭建您自己的android研发环境
  19. 使用fit函数时,报错KeyError: ‘squared_error‘
  20. 人最大的教养,是原谅父母的不完美

热门文章

  1. 使用Android 原生 API获取经纬度并且根据经纬度解析出当前具体位置信息
  2. [洛谷P3939]数颜色
  3. 微信微粒贷开通什么条件?微粒贷开通方法及流程
  4. godis之aof持久化
  5. Python获取某平台主播照片, 实现颜值检测, 进行排名
  6. W25Q128FV译文(一)
  7. ?迅捷PDF转换成word转换器在线使用方法
  8. VMware虚拟机中Windows11无法连接网络
  9. 傻X了:mac上编译的程序放到linux上运行
  10. 携程网跨站弱点及物理路径泄漏