Neenad
Neenad

Reputation: 911

SSL Error in nodejs request package

I'm trying to call freecodecamp api @url https://forum.freecodecamp.org/c/getting-a-developer-job.json? I am doing some analysis on the data, but when I call this service using 'request' npm package I am getting ssl error as follows:

error { Error: write EPROTO 140735782093632:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../deps/openssl/openssl/ssl/s3_pkt.c:1500:SSL alert number 40
140735782093632:error:1409E0E5:SSL routines:ssl3_write_bytes:ssl handshake failure:../deps/openssl/openssl/ssl/s3_pkt.c:659:

    at _errnoException (util.js:1022:11)
    at WriteWrap.afterWrite [as oncomplete] (net.js:867:14) code: 'EPROTO', errno: 'EPROTO', syscall: 'write' }

Can somebody let me know what the issue is? A wget call pulls the data when provided with --ca-certificate option, also the webservice is giving data to postman without any certificate.

Here is my code:

import request from 'request';
import fs from 'fs';

const BASE_URL = 'forum.freecodecamp.org/c/getting-a-developer-job.json?no_subcategories=false&page=1';

request.get(BASE_URL, {
  port: 443,
  agentOptions: {
    ciphers: 'ALL',
    ca: fs.readFileSync('./mycertfile.pem'),
    secureProtocol: 'TLSv1_2_method'
  },
  strictSSL: false
})
.on('response', (response) => {
  console.log('Response is ', response);
}).on('error', (err) => {
  console.log('error', err);
});

Upvotes: 1

Views: 1080

Answers (1)

Denisix
Denisix

Reputation: 106

I see no problems there except URI http:// is absent, in my environment i have node v10.5.0, and the slightly modified version of your script works well:

const request = require('request')

const BASE_URL = 'https://forum.freecodecamp.org/c/getting-a-developer-job.json?no_subcategories=false&page=1'

request.get(BASE_URL, { json: true }, (err, res, body) => {
    if (err) throw('error', err);
    console.log('JSON object is => ', body);
})

outputs to console:

JSON object is =>  { users:
   [ { id: 117390,
       username: 'anthony2025',
....

Upvotes: 1

Related Questions