我有一个使用youtube-api搜索视频的Java代码。到目前为止,我使用系统配置来设置代理(http和https),一切都正常。但是现在我对我们在服务器上使用代理的方式有了新的要求。由于我们在同一台服务器上运行其他服务,因此他们要求我不使用系统范围的方法配置代理,因为这会影响使用JVM的所有服务。
System.setProperty("https.proxyHost", httpsProxyHost);
System.setProperty("https.proxyPort", httpsProxyPort);
我想做这样的事情:
YouTubeService service = new YouTubeService(clientID);
logger.info("proxyHost for youtube updated :"+this.parameters.getProxyHost() );
logger.info("proxyPort for youtube updated :"+this.parameters.getProxyPort() );
logger.info("before youtube constructor " );
service.setConnectTimeout(timeout); // millis
YouTubeQuery query = new YouTubeQuery(new URL(YOUTUBE_URL));
logger.info("afer youtube constructor " );
query.setOrderBy(YouTubeQuery.OrderBy.VIEW_COUNT);
query.setFullTextQuery(textQuery);
query.setSafeSearch(YouTubeQuery.SafeSearch.NONE);
query.setMaxResults(maxResults);
VideoFeed videoFeed = service.query(query, VideoFeed.class);
List<VideoEntry> videos = videoFeed.getEntries();