Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialJohn Lenehan
877 Points301 error with HTTP, not HTTPS
Hey everyone,
While working through this step I kept getting a 301 error while using the http module, so I tried HTTPS instead and it worked fine. Later on in the steps however this causes some problems. Anyone else have similar issues/know why this is happening?
Thanks!
6 Answers
Andrew Chalkley
Treehouse Guest TeacherHi all,
DevOps just informed me that the site has flipped over all of the site to HTTPS. +1 for security. -1 for breaking things :/
Both http
and https
have similar APIs so simply swapping out http
in your code to something like this
var https = require("https");
And renaming all references to http
to https
will solve the problem.
Remember to update your URLs to have https
at the beginning.
Regards
Andrew
Seth Kroger
56,413 PointsFIX: node.js has a separate class for https requests that act virtually identical to the class for http requests.
Add the line at the top of profile.js with the other requires:
var https = require("https");
Then change the line making the request to:
var request = https.get("https://teamtreehouse.com/" + username + ".json", function(response) {
and it will work.
Seth Kroger
56,413 PointsDid you add https in addition to http or replace it? https does have the requests and servers parts of http but doesn't replicate the http.STATUS_CODES[]. You need to require both in profile.js only, the rest just need http, and the only place you need to use https is to make the request for the profile.
John Lenehan
877 PointsThat's exactly what I did actually! I got it all working, I just wanted to make sure there wasn't something silly I was missing as to why http was giving me a "permanently moved" error! I was just using HTTPS until I needed the STATUS_CODES, so I have both required now. I was hoping to understand why it was happening since other people seem to be able to do just fine with HTTP only.
Thanks!
Seth Kroger
56,413 PointsThe "Permanently Moved" thing redirecting the links from http:// to https:// seems to be a pretty recent change to the site. Like within the last day or so.
Lido Fernandez
10,556 Pointshi Seth,
I don't know if i get it right but I don't get why you have to require both http and https. How would be the final result? I tried myself and evently I get a 404 error.
__ROLLER__ Angel
25,606 PointsThanks everyone for these helpful tips. I inspected my response with the dir method and it provided hints about the https solution.
chaz
25,372 PointsSwitching everything over to https
worked, however workspaces is noticeable sluggish, everything from typing, scrolling, to the responsiveness of the console. I'm assuming this is to be expected due to encryption?
Edgar Lizcano Sosa
Courses Plus Student 11,152 PointsThanks a bunch for the help ;3