如何解决 curl 请
求图片接口后端报错
当通过 curl 请求图片接口时,后端可能抛出错误消息:"java.io.ioexception: 你的主机中的软件中止了一个已建立的连接"。这通常是因为 curl 未选择接受图像文件。
解决方法:
以下是 java 代码示例:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class imageservlet extends httpservlet {
@override
protected void doget(httpservletrequest req, httpservletresponse resp) throws servletexception, ioexception {
if (req.getheader("user-agent").contains("curl")) {
resp.setstatus(400);
resp.getwriter().write("{\"error\": \"this request is not supported by curl\"}");
return;
}
// 正常处理图片响应...
}
}其他信息:
response.reset();
response.setCharacterEncoding(StandardCharsets.UTF_8.toString());
response.setContentLengthLong(photoEntity.getSize());
response.setContentType(photoEntity.getType());
response.setHeader("Content-Disposition", "inline;filename=" + URLEncoder.encode(uuid, StandardCharsets.UTF_8));