在Android上使用Retrofit发生Vimeo SSL错误

时间:2015-07-17 16:33:08

标签: android ssl retrofit vimeo-api

我在使用Retrofit Vimeo API时遇到问题。我的意思是使用MultipartTypedOutput在Vimeo上传Retrofit。 这是一些代码:

public interface VimeoUploadApi {
    @PUT("/upload")
    void uploadVideo(@Header("Authorization") String header,
                     @Body MultipartTypedOutput body,
                     @Query("ticket_id") String ticket_id,
                     BaseCallback<VideoUploadedEvent> callback);
}
public VimeoUploadApi provideVimeoUploadApi(String url) {
    RestAdapter restAdapter = new RestAdapter.Builder()
                .setEndpoint(url)
                .setLogLevel(BuildConfig.DEBUG ? RestAdapter.LogLevel.FULL : RestAdapter.LogLevel.NONE)
                .build();

    return restAdapter.create(VimeoUploadApi.class);
}

private MultipartTypedOutput generateMultipartObject() {
    MultipartTypedOutput multipartTypedOutput = new MultipartTypedOutput();
    File file = new File(videoPath);
    long totalSize = file.length();
    FileProgressListener listener = new FileProgressListener(totalSize);
    listener.setPath(videoPath);
    multipartTypedOutput.addPart("video", new CountingTypedFile("video/mp4", file, listener));
    return multipartTypedOutput;
}

并致电:

provideVimeoUploadApi(getUploadUrl(secure_link)).uploadVideo(
    "Authorization: Bearer " + Environment.VIMEO_TOKEN,
    generateMultipartObject(),
    event.getTicket_id(),
    new BaseCallback<VideoUploadedEvent>()
);

当我上传视频时,我收到如下错误:

  

写入错误:ssl = 0x98cc2800:系统调用期间的I / O错误,连接   由同行重置       retrofit.RetrofitError:写入错误:ssl = 0x98cc2800:系统调用期间的I / O错误,同级连接重置

     

引起:javax.net.ssl.SSLException:写入错误:ssl = 0x98cc2800:   系统调用期间的I / O错误,通过对等方重置连接

无论如何要解决它?

1 个答案:

答案 0 :(得分:0)

因此,由于我找不到使用VimeoRetrofit发送视频的任何解决方案,我发现旧的HttpUrlConnection效果非常好。 如果有人需要一些代码,我会在这里发布。