Giter Site home page Giter Site logo

Comments (6)

cnishina avatar cnishina commented on May 21, 2024 1

Closed with fa48354.

from webdriver-manager.

amellnik avatar amellnik commented on May 21, 2024 1

Edit: I forgot to update first, and it looks like the original issue is now solved -- thanks.

from webdriver-manager.

cnishina avatar cnishina commented on May 21, 2024 1

Hooray! 🎉

from webdriver-manager.

cnishina avatar cnishina commented on May 21, 2024

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.

amellnik avatar amellnik commented on May 21, 2024

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.

cnishina avatar cnishina commented on May 21, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.