How to fix Connection Reset Exception in java?

橙三吉。 提交于 2020-01-15 08:19:08

问题


I am trying to upload video to youtube: My code for the same is:

private static void uploadVideo(YouTubeService service) throws IOException {
    System.out.println("First, type in the path to the movie file:");


    File videoFile = new File(readLine());

    if (!videoFile.exists()) {
      System.out.println("Sorry, that video doesn't exist.");
      return;
    }

    System.out.println(
        "What is the MIME type of this file? (ex. 'video/quicktime' for .mov)");

    String mimeType = readLine();

    System.out.println("What should I call this video?");
    String videoTitle = readLine();

    VideoEntry newEntry = new VideoEntry();

    YouTubeMediaGroup mg = newEntry.getOrCreateMediaGroup();

    mg.addCategory(new MediaCategory(YouTubeNamespace.CATEGORY_SCHEME, "Entertainment"));
    mg.setTitle(new MediaTitle());
    mg.getTitle().setPlainTextContent(videoTitle);
    mg.setKeywords(new MediaKeywords());
    mg.getKeywords().addKeyword("gdata-test");
    mg.setDescription(new MediaDescription());
    mg.getDescription().setPlainTextContent(videoTitle);
    mg.setPrivate(false);
    mg.addCategory(new MediaCategory(YouTubeNamespace.DEVELOPER_TAG_SCHEME, "mydevtag"));
    mg.addCategory(new MediaCategory(YouTubeNamespace.DEVELOPER_TAG_SCHEME, "anotherdevtag"));
    newEntry.setGeoCoordinates(new GeoRssWhere(37.0,-122.0));
    MediaFileSource ms = new MediaFileSource(videoFile, mimeType);

    newEntry.setMediaSource(ms);


    try {


      service.insert(new URL(VIDEO_UPLOAD_FEED), newEntry);

    } catch (ServiceException se) {
      System.out.println("Sorry, your upload was invalid:");
      System.out.println(se.getResponseBody());
      return;
    }

    System.out.println("Video uploaded successfully!");
  }

        switch(uploader.getUploadState()) {
          case COMPLETE:
            output.println("Uploaded successfully");
            break;
          case CLIENT_ERROR:
            output.println("Upload Failed");
            break;
          default:
            output.println("Unexpected upload status");
            break;
        }

     }

When i run this it shows the exception:

java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:189)
    at java.net.SocketInputStream.read(SocketInputStream.java:121)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
    at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:641)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:589)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1319)
    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
    at com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:490)
    at com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:470)
    at com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:534)
    at com.google.gdata.client.media.MediaService.insert(MediaService.java:353)
    at ytupload.YouTubeWriteClient.uploadVideo(YouTubeWriteClient.java:514)
    at ytupload.YouTubeWriteClient.main(YouTubeWriteClient.java:837)

the function i am calling from main. upload(service); where service = new YouTubeService(clientId,developerKey); How can i fix this bug? I wasted a day behind..but cant figured out. Please suggest.

Edit: VIDEO_UPLOAD_FEED ="http://gdata.youtube.com/feeds/api/users/abc123/uploads"

And what if the path for video file i want to give as some http url? Please suggest. Thanx in advance


回答1:


Did you set successfully the user credentials on the services? its probably used to create the connection to the server.

service.setUserCredentials(User, Password);

Take alook at this



来源:https://stackoverflow.com/questions/13392642/how-to-fix-connection-reset-exception-in-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!