Quantcast
Channel: Active questions tagged https - Stack Overflow
Viewing all articles
Browse latest Browse all 1534

'TypeError: Protocol "http:" not supported. Expected "https:"' error when fetching HTTPS site

$
0
0

I'm trying to use node-fetch to capture the contents of a page, and running into an unexpected error. I checked a similar question but it doesn't seem relevant. I am trying to fetch a HTTPS site using an HTTPS agent and agents, but I'm getting an unexpected error about HTTP. I wonder whether this may be due to redirects, but I can't see anything that would cause it. This only fails for this particular URL (works fine, for example, with https://www.robinhood.com) , and I'm trying to figure out why. Here is a minimal example. I'd note that this uses some certificates I have saved locally, but I'm not sure how necessary that is to reproduce.

//start SO examplevar siteURL = "https://robinhood.com/l/privacy";import path from 'path';import sslrootcas from 'ssl-root-cas';const rootCas = sslrootcas.create();import {fileURLToPath} from 'url';const __filename = fileURLToPath(import.meta.url);const __dirname = path.dirname(__filename);rootCas.addFile(path.resolve(__dirname,'intermediate.pem'));import http from 'node:http';import https from 'node:https';import UserAgent       from 'user-agents';  const myhttpsAgent = new https.Agent({ca: rootCas});// const requestcheck =  fetch("https://www.google.com", {const requestcheck =  fetch(siteURL, {   method: "GET"  ,headers: {"User-Agent":  new UserAgent() }  ,agent: myhttpsAgent  })

Here is the error I'm getting:

node:internal/errors:477    ErrorCaptureStackTrace(err);    ^TypeError: Protocol "http:" not supported. Expected "https:"    at new NodeError (node:internal/errors:387:5)    at new ClientRequest (node:_http_client:177:11)    at request (node:http:96:10)    at file:///home/app/node_modules/node-fetch/src/index.js:94:20    at new Promise (<anonymous>)    at fetch (file:///home/app/node_modules/node-fetch/src/index.js:49:9)    at ClientRequest.<anonymous> (file:///home/app/node_modules/node-fetch/src/index.js:236:15)    at ClientRequest.emit (node:events:525:35)    at HTTPParser.parserOnIncomingClient [as onIncoming] (node:_http_client:674:27)    at HTTPParser.parserOnHeadersComplete (node:_http_common:128:17)    at TLSSocket.socketOnData (node:_http_client:521:22)    at TLSSocket.emit (node:events:525:35)    at addChunk (node:internal/streams/readable:315:12)    at readableAddChunk (node:internal/streams/readable:289:9)    at TLSSocket.Readable.push (node:internal/streams/readable:228:10)    at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23) {  code: 'ERR_INVALID_PROTOCOL'}

Viewing all articles
Browse latest Browse all 1534

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>