Comments (6)
Closed with fa48354.
from webdriver-manager.
Edit: I forgot to update first, and it looks like the original issue is now solved -- thanks.
from webdriver-manager.
Hooray! 🎉
from webdriver-manager.
Thanks for the bug report. After creating my own proxy server with http-proxy
, tried this out:
var httpProxy = require('http-proxy');
var proxy = httpProxy.createProxyServer({
target: 'https://selenium-release.storage.googleapis.com'
}).listen(8000);
curl -v localhost:8000/2.53/selenium-server-standalone-2.53.1.jar
the server log blows up with:
throw err;
^
Error: Hostname/IP doesn't match certificate's altnames: "Host: localhost. is not in the cert's altnames: DNS:*.storage.googleapis.com, DNS:*.commondatastorage.googleapis.com, DNS:*.content-storage-download.googleapis.com, DNS:*.content-storage-upload.googleapis.com, DNS:*.content-storage.googleapis.com, DNS:*.googleapis.com, DNS:*.storage-download.googleapis.com, DNS:*.storage-upload.googleapis.com, DNS:commondatastorage.googleapis.com, DNS:static.panoramio.com.storage.googleapis.com, DNS:storage.googleapis.com, DNS:unfiltered.news"
at Object.checkServerIdentity (tls.js:199:15)
at TLSSocket.<anonymous> (_tls_wrap.js:1066:29)
at emitNone (events.js:86:13)
at TLSSocket.emit (events.js:185:7)
at TLSSocket._finishInit (_tls_wrap.js:584:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:416:38)
So trying this again, with the proper host header:
curl -o selenium-server.jar -v localhost:8000/2.53/selenium-server-standalone-2.53.1.jar -H 'host:selenium-release.storage.googleapis.com'
* Hostname was NOT found in DNS cache
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying ::1...
* Connected to localhost (::1) port 8000 (#0)
> GET /2.53/selenium-server-standalone-2.53.1.jar HTTP/1.1
> User-Agent: curl/7.35.0
> Accept: */*
> host:selenium-release.storage.googleapis.com
>
< HTTP/1.1 200 OK
< x-guploader-customer: cloud-storage
< x-guploader-uploadid: AEnB2Ur6g-suww70wiLzItUjDLA8opkY5RDgVX6X3AxTMggJAVHQMuvLbzx902EZk6LI2wwy7nhJn5alz7nzBp6phX3iEE5l0zAxKklfFH8hEXjIdLFAK_0
< expires: Tue, 23 Aug 2016 00:11:09 GMT
< date: Mon, 22 Aug 2016 23:11:09 GMT
< cache-control: public, max-age=3600
< last-modified: Thu, 30 Jun 2016 19:28:58 GMT
< etag: "63a0b96eab18f8420b9bba2f0f5d380c"
< x-goog-generation: 1467314938331000
< x-goog-metageneration: 1
< x-goog-stored-content-encoding: None
< x-goog-stored-content-length: 21231092
< content-type: application/java-archive
< content-encoding: None
< x-goog-hash: crc32c=uRsrKA==, md5=Y6C5bqsY+EILm7ovD104DA==
< x-google-storage-location: US
< x-goog-storage-class: STANDARD
< accept-ranges: bytes
< content-length: 21231092
< x-guploader-request-result: success
< x-guploader-upload-result: success
< x-google-gfe-cloud-project-number: 1044203803658
< x-google-gfe-backend-request-info: eid=jYa7V5ilII7ciQL4moaADw
* Server UploadServer is not blacklisted
< server: UploadServer
< x-google-netmon-label: /bns/pa/borg/pa/bns/apps-upload/apps-upload.uploader/789
< x-google-backends: /bns/ph/borg/ph/bns/cloud-storage/prod-cloud-storage-frontend.frontend/322,/bns/pa/borg/pa/bns/apps-upload/apps-upload.uploader/789.externalbe1,acseab4:443
< x-google-gfe-request-trace: acseab4:443,/bns/pa/borg/pa/bns/apps-upload/apps-upload.uploader/789.externalbe1,acseab4:443
< x-google-dos-service-trace: main:apps-upload-cloud-storage
< x-google-service: apps-upload-cloud-storage
< x-google-gfe-response-code-details-trace: response_code_set_by_backend
< x-google-shellfish-status: CIgCQEY
< alternate-protocol: 443:quic
< alt-svc: quic=":443"; ma=2592000; v="35,34,33,32,31,30"
< x-google-gfe-service-trace: apps-upload-cloud-storage
< connection: close
<
{ [data not shown]
100 20.2M 100 20.2M 0 0 57.9M 0 --:--:-- --:--:-- --:--:-- 58.0M
* Closing connection 0
So it appears we need to also pass a host header of "selenium-release.storage.googleapis.com"
from webdriver-manager.
I can confirm that webdriver-manager --proxy http://my-proxy-here:port update
now works for me.
Edit: it ran without any message the first time and was able to download selenium standalone and chromedriver via curl, but subsequent calls fail. I removed it, cleaned my cache,. and reinstalled latest and see the same behavior -- the first call downloads the two files, while subsequent ones fail.
C:\Users\amellnik\Documents\One-off\angular2\partay>webdriver-manager --proxy ht
tp://my-proxy:port update
webdriver-manager: using global installed version 10.2.3
[12:07:56] I/file_manager - creating folder C:\Users\amellnik\AppData\Roaming\np
m\node_modules\webdriver-manager\selenium
[12:07:56] I/downloader - selenium standalone: downloading version 2.53.1
[12:07:56] I/downloader - curl -o C:\Users\amellnik\AppData\Roaming\npm\node_mod
ules\webdriver-manager\selenium/selenium-server-standalone-2.53.1.jar https://se
lenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.1.jar
[12:07:56] I/downloader - chromedriver: downloading version 2.22
[12:07:56] I/downloader - curl -o C:\Users\amellnik\AppData\Roaming\npm\node_mod
ules\webdriver-manager\selenium/chromedriver_2.22win32.zip https://chromedriver.
storage.googleapis.com/2.22/chromedriver_win32.zip
[12:07:57] I/update - chromedriver: unzipping C:\Users\amellnik\AppData\Roaming\
npm\node_modules\webdriver-manager\selenium\chromedriver_2.22win32.zip
C:\Users\amellnik\Documents\One-off\angular2\partay>webdriver-manager --proxy ht
tp://my-proxy:port update
webdriver-manager: using global installed version 10.2.3
events.js:141
throw er; // Unhandled 'error' event
^
Error: tunneling socket could not be established, cause=socket hang up
at ClientRequest.onError (C:\Users\amellnik\AppData\Roaming\npm\node_modules
\webdriver-manager\node_modules\tunnel-agent\index.js:176:17)
at ClientRequest.g (events.js:260:16)
at emitOne (events.js:77:13)
at ClientRequest.emit (events.js:169:7)
at TLSSocket.socketErrorListener (_http_client.js:267:9)
at emitOne (events.js:77:13)
at TLSSocket.emit (events.js:169:7)
at emitErrorNT (net.js:1269:8)
at nextTickCallbackWith2Args (node.js:442:9)
at process._tickCallback (node.js:356:17)
from webdriver-manager.
This is my proxy server I created for this issue.
node server.js
starts the proxy server
node client.js
uses the request node module to download a file.
The proxy server was used to test that these curls work (below) as well as running webdriver-manager update --proxy http://localhost:8000
.
curl -o selenium-server.jar -v localhost:8000/2.53/selenium-server-standalone-2.53.1.jar -H 'host:selenium-release.storage.googleapis.com'
curl -o chromedriver.zip -v http://localhost:8000/2.22/chromedriver_linux64.zip -H 'host:chromedriver.storage.googleapis.com'
The curl commands outputted in the log are more helpful hints if you want to do it yourself. This does not reflect what a proxy curl would look like.
from webdriver-manager.
Related Issues (20)
- Intel Mac downloading Apple arch geckodriver instead of x86
- "webdriver-manager update" downloads chrome driver version 98.0.4758.80 instead of version 98.0.4758.102 HOT 2
- webdriver-manager update error confusing while running in docker on m1 mac
- webdriver-manager update command always fails on first try but passes after HOT 1
- Session Not Created Exception
- Change default out_dir HOT 1
- Protractor--WebdriverManager issue Error: Server terminated early with status 2
- compilation error on latest webdriver-manager 13 master
- webdriver-manager update fails on Node 18 HOT 1
- Webdriver-manager deprecation ? HOT 9
- Set default branch to latest code
- CVE-2023-28155 wedriver-manager depends on vulnerable version of protractor HOT 4
- Failing to download Linux Arm64 chrome inside DevContainer on Mac M1
- Latest chrome is not supported 115.0.5790.98 HOT 11
- Will HeroDevs maintain this project after August 2023? HOT 6
- webdriver-manager-replacement 2.0.2 throw the error by executing npm install command
- delete
- Vulnerability - request-2.88.2tgz HOT 1
- Vulnerability - xml2js-0.4.23.tgz HOT 1
- tough-cookie Prototype Pollution vulnerability
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from webdriver-manager.