Git Product home page Git Product logo

Comments (7)

Garbee avatar Garbee commented on April 28, 2024 38

I'd urge it be more tedious to ignore per navigation since you really shouldn't be ignoring problems like that. Even in a test suite, it's not something to encourage.

from puppeteer.

aslushnikov avatar aslushnikov commented on April 28, 2024 27

More details on this.
The certificates behave a little surprising - once a certain certificate error was "ignored" via protocol's Security.handleCertificateError, the certificate would not trigger any errors in future.

This would result in inability to do Page.setIgnoreHTTPSErrors(false), which causes the test failure in the #176.

Upstream bug: https://bugs.chromium.org/p/chromium/issues/detail?id=751204. We spent half a day with @allada debugging the issue but it didn't get us anywhere.

To move on with this, since there's no practical need to do setIgnoreHTTPSErrors(false), we can have a browser option to ignore HTTPS errors:

const {Browser} = require('puppeteer');
const browser = new Browser({ignoreHTTPSErrors: true});
...

from puppeteer.

paulirish avatar paulirish commented on April 28, 2024 1

naming pedantry: SSL (which is dead and now really TLS these days) is about the connection, whereas certificates are about identification. So it turns out certificate errors aren't really TLS issues. In order to simplify all this, folks normally just call the whole kit-and-kaboodle "HTTPS" which seems generally agreeable.

So I'd start with calling this ignoreHTTPSerrors, but a shorter name could be something like:pardonBadHTTPS

from puppeteer.

aslushnikov avatar aslushnikov commented on April 28, 2024 1

Thanks Paul!

I like the ignoreHTTPSErrors. Or how about ironic pardonHTTPS?

from puppeteer.

aslushnikov avatar aslushnikov commented on April 28, 2024

It would be troublesome to implement this per navigation; i'm leaning towards the

page.setIgnoreHTTPSErrors(true);

from puppeteer.

aslushnikov avatar aslushnikov commented on April 28, 2024

@Garbee do you have any api suggestion?

Having the setter on the page level would allow one to ignore HTTPS errors for the renderer-initiated navigations (those initiated with javascript's window.location.href = ...), which is valuable

from puppeteer.

Garbee avatar Garbee commented on April 28, 2024

hmm. If the page level API solves a problem that the navigation function level doesn't, then that's the way to go. I simply didn't want to see it as "cleaner" than needing to repeat it on all the manual navigation from the puppeteer script.

from puppeteer.

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.