Forums
New posts
Search forums
Members
Current visitors
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Menu
Log in
Register
Install the app
Install
Forums
Archive
Archive
Ruby
Seeking some guidance with net/http
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
[QUOTE="Andrew Cowan, post: 4601949"] Heya, I am attempting to write a script that lets me login to my Youtube account to gather frequent data for the videos I have uploaded, I am stumbling over the Youtube login procedure which seems to involve both cookies and session info. I am able to get this login procedure to work with Perl and LWP::UserAgent but so far using net/http and Ruby I am failing. Here is the code I have been playing with which involves first a POST form submission to youtube's /login script, then the code to follow the redirection back to the /index page -- but looking at the contents returned from /index it appears youtube doesn't recognize me as being logged in: --- # Note: I have added a bunch of puts statements to help debug, leaving them here for this post require 'net/http' http = Net::HTTP.new( '[URL="http://www.youtube.com"]www.youtube.com[/URL]', 80 ) path = '/login' agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1' data = 'nexturl=/¤t_form=loginForm&action_login=Log+In&username=MY_USER&password=MY_PWD' headers = { 'Referer' => '[URL]http://www.youtube.com/[/URL]', 'Content-Type' => 'application/x-www-form-urlencoded', 'User-Agent' => agent } resp, data = http.post( path, data, headers ) cookie = resp.response['set-cookie'] if ( resp.code =~ /^3/ ) puts "Got Redirect: " + resp['location'] end next_loc = resp['location'] puts 'Logging In to Set Cookies:' puts 'Code=' + resp.code puts 'Mesg=' + resp.message puts 'Cookie=' + cookie puts 'Next Location=' + next_loc puts 'Data=' + data headers = { 'Cookie' => cookie, 'User-Agent' => agent } resp, data = http.get( next_loc, headers ) puts '(should be) Logged In:' puts 'Code=' + resp.code puts 'Mesg=' + resp.message puts 'Data=' + data --- I am unsure what part I am missing which youtube apparently needs to complete its login procedure, I would greatly appreciate any helpful suggestions! Thanks, Andy [/QUOTE]
Verification
Post reply
Forums
Archive
Archive
Ruby
Seeking some guidance with net/http
Top