调用通用物体与场景识别高级版API,在windows PC上调试,没有问题。在linux x86 云上,小图片识别正常,大图片(1M左右)就一直报错。
java.io.IOException: Error writing to server
at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:699)
at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:711)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1585)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:347)
at com.baidu.aip.http.AipHttpClient.post(AipHttpClient.java:72)
at com.baidu.aip.client.BaseClient.requestServer(BaseClient.java:292)
at com.baidu.aip.imageclassify.AipImageClassify.advancedGeneral(AipImageClassify.java:59)
at com.baidu.aip.imageclassify.AipImageClassify.advancedGeneral(AipImageClassify.java:75)
at com.baidu.aip.imageclassify.AipImageClassify.main(AipImageClassify.java:30)
[main] WARN com.baidu.aip.client.BaseClient - call failed! response status: 0, data:
{"error_msg":"connection or read data time out","error_code":"SDK108"}
Timeout没有设置,是默认值0。觉得这个问题是linux上的问题,windows不会出现。
初始化client 不要设置如上代码
那就是环境的一些问题导致了。我服务器是Windows Server 用了快2年了。SDK运行没有出现过SDK108错误。
确保云服务器网络正常、没有上传IP限制。
是java-1.8.0
JDK 不是SDK版本。只要你确保你JDK是1.7+以上版本就行
4.12.0
你JDK什么版本?
原图链接:http://imgsrc.baidu.com/baike/pic/item/91ef76c6a7efce1b27893518a451f3deb58f6546.jpg
带宽是15M,只是偶尔上传图片,带宽应该够了。未设置代理和超时。在windows上,大小图都没有问题。大图:新垣结衣,小图:绘本封面。我自己的代码用RestTemplate.postForEntity时,报Connection has been shutdown: javax.net.ssl.SSLException: java.net.SocketException: Broken pipe (Write failed)。换成SDK后,报上面的"SDK108"错误。![](https://ai.bdstatic.com/file/7642D567E2D24F4C99C22545D0B17A08)
![](https://ai.bdstatic.com/file/F960F93C63CB4EC2B810940CFB803B2F)
看你的报错是 用是Java语言 而且是SDK模式
最上面得知你的服务器是Linux。
你的服务器上传带宽是否有限制?
请求接口代码是否给了代理、超时配置如果给了先注释掉。
大图片在Windows上报错吗?
或者你的大图片能否分享出来呢?