我有一个使用 youtube-api 上传视频的 Java 代码。到目前为止,我一直在使用系统配置来设置代理(http 和 https),并且一切正常。但是现在我对我们在服务器上使用代理的方式有了新的要求。由于我们在同一台服务器上运行其他服务,他们要求我不要使用系统范围的方法配置代理,因为这会影响所有使用 JVM 的服务。
System.setProperty("http.proxyHost", httpProxyHost);
System.setProperty("http.proxyPort", httpProxyPort);
和
System.setProperty("https.proxyHost", httpsProxyHost);
System.setProperty("https.proxyPort", httpsProxyPort);
最近几天我在互联网上进行了研究,没有发现任何有用的东西。我在 C# API 上找到了似乎将代理设置为连接的解释,但我没有找到在 Java 上实现相同方法的方法。
我想做这样的事情:
service = new YouTubeService(APPLICATION_NAME, DEVELOPER_KEY);
service.setUserCredentials(userName, password);
uploader = new ResumableGDataFileUploader.Builder(
service, new URL(RESUMABLE_UPLOAD_URL), ms, newVideoEntry)
.title(videoTitle)
.trackProgress(listener, PROGRESS_UPDATE_INTERVAL)
.chunkSize(DEFAULT_CHUNK_SIZE).build();
// fictional code to show what I want to do
uploader.setProxyHttp(httpProxyHost, httpProxyPort);
uploader.setProxyHttps(httpsProxyHost, httpsProxyPort);
uploader.start();
这与 Java 已经允许我们做的事情非常相似。请参阅此http://docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html