Amazon web services 使用AWS设备场时如何解决代理问题?
我正在尝试执行aws设备场示例代码,我们可以从下面的站点获得这些代码。 执行上述代码后,出现错误,消息如下Amazon web services 使用AWS设备场时如何解决代理问题?,amazon-web-services,proxy,aws-device-farm,Amazon Web Services,Proxy,Aws Device Farm,我正在尝试执行aws设备场示例代码,我们可以从下面的站点获得这些代码。 执行上述代码后,出现错误,消息如下 @Before public void setUp() { try { ProxyConfiguration.Builder proxyConfig = ProxyConfiguration.builder(); proxyConfig.endpoint(new URI("<YOUR PROXY URL>"));
@Before
public void setUp() {
try {
ProxyConfiguration.Builder proxyConfig = ProxyConfiguration.builder();
proxyConfig.endpoint(new URI("<YOUR PROXY URL>"));
proxyConfig.username("<YOUR USER ID>");
proxyConfig.password("YOUR PASSWORD");
ApacheHttpClient.Builder httpClientBuilder =
ApacheHttpClient.builder()
.proxyConfiguration(proxyConfig.build());
String myARN = "<YOUR ARN>";
DeviceFarmClient client = DeviceFarmClient.builder()
.credentialsProvider(DefaultCredentialsProvider.create())
.region(Region.US_WEST_2)
.httpClientBuilder(httpClientBuilder)
.overrideConfiguration(ClientOverrideConfiguration.builder().build())
.build();
CreateTestGridUrlRequest request = CreateTestGridUrlRequest.builder()
.expiresInSeconds(300) // 5 minutes
.projectArn(myARN)
.build();
URL testGridUrl = null;
CreateTestGridUrlResponse response = client.createTestGridUrl(request);
testGridUrl = new URL(response.url());
driver = new RemoteWebDriver(testGridUrl, DesiredCapabilities.chrome());
} catch (Exception e) {
e.printStackTrace();
}
}
java.net.UnknownHostException:devicefarm.us-west-2.amazonaws.com
我猜代码无法解析主机,因为代理服务器。
我如何解决这个问题
谢谢。您能确认哪一行抛出java.net.UnknownHostException:devicefarm.us-westt-2.amazonaws.com吗。是client.createTest.GridUrl(请求)还是WebDriver-driver=new-RemoteWebDriver(testGridUrl,DesiredCapabilities.firefox())
如果是client.createTest.GridUrl(请求),那么请遵循中提到的代理配置。我当前的设置方法如下
@Before
public void setUp() {
try {
ProxyConfiguration.Builder proxyConfig = ProxyConfiguration.builder();
proxyConfig.endpoint(new URI("<YOUR PROXY URL>"));
proxyConfig.username("<YOUR USER ID>");
proxyConfig.password("YOUR PASSWORD");
ApacheHttpClient.Builder httpClientBuilder =
ApacheHttpClient.builder()
.proxyConfiguration(proxyConfig.build());
String myARN = "<YOUR ARN>";
DeviceFarmClient client = DeviceFarmClient.builder()
.credentialsProvider(DefaultCredentialsProvider.create())
.region(Region.US_WEST_2)
.httpClientBuilder(httpClientBuilder)
.overrideConfiguration(ClientOverrideConfiguration.builder().build())
.build();
CreateTestGridUrlRequest request = CreateTestGridUrlRequest.builder()
.expiresInSeconds(300) // 5 minutes
.projectArn(myARN)
.build();
URL testGridUrl = null;
CreateTestGridUrlResponse response = client.createTestGridUrl(request);
testGridUrl = new URL(response.url());
driver = new RemoteWebDriver(testGridUrl, DesiredCapabilities.chrome());
} catch (Exception e) {
e.printStackTrace();
}
}
@之前
公共作废设置(){
试一试{
ProxyConfiguration.Builder proxyConfig=ProxyConfiguration.Builder();
proxyConfig.endpoint(新URI(“”);
proxyConfig.username(“”);
proxyConfig.password(“您的密码”);
ApacheHttpClient.Builder httpClientBuilder=
ApacheHttpClient.builder()
.proxyConfiguration(proxyConfig.build());
字符串myARN=“”;
DeviceFarmClient客户端=DeviceFarmClient.builder()
.credentialsProvider(DefaultCredentialsProvider.create())
.地区(美国西部地区2)
.httpClientBuilder(httpClientBuilder)
.overrideConfiguration(ClientOverrideConfiguration.builder().build())
.build();
CreateTestGridUrlRequest请求=CreateTestGridUrlRequest.builder()
.过期秒(300)//5分钟
.projectArn(myARN)
.build();
URL testGridUrl=null;
CreateTestGridUrlResponse=client.createTestGridUrl(请求);
testGridUrl=新URL(response.URL());
driver=新的RemoteWebDriver(testGridUrl,DesiredCapabilities.chrome());
}捕获(例外e){
e、 printStackTrace();
}
}
再次感谢。谢谢您的回复。错误发生在client.createTest.GridUrl(请求)上,正如您所说,此问题的原因是代理设置。我可以使用ProxyConfiguration.Builder解决这个问题。我参考了下面的链接。(版本2.x中的同步客户端配置示例)