Skip to content

Instantly share code, notes, and snippets.

@pbnkp
Forked from derencius/xcode.rb
Created November 19, 2011 04:17
Show Gist options
  • Select an option

  • Save pbnkp/1378439 to your computer and use it in GitHub Desktop.

Select an option

Save pbnkp/1378439 to your computer and use it in GitHub Desktop.
Download Xcode using wget. Useful for slow or intermittent connections. it uses wget and mechanize.
require 'rubygems'
require 'mechanize'
if ARGV.size < 3
puts %q{Usage: ruby xcode.rb USERNAME PASSWORD "DOWNLOAD_URL" [WGET_PARAMS]}
puts %q{Example: ruby xcode.rb [email protected] 123456 "https://developer.apple.com/devcenter/download.action?path=/Developer_Tools/xcode_4_and_ios_sdk_4.3__final/xcode_4_and_ios_sdk_4.3__final.dmg" }
exit
end
a = Mechanize.new { |agent|
agent.user_agent_alias = 'Mac Safari'
}
a.get('https://developer.apple.com/') do |page|
member_page = a.click(page.link_with(:text => /Member Center/))
login = member_page.form_with(:name => 'appleConnectForm') do |form|
form.theAccountName = ARGV[0]
form.theAccountPW = ARGV[1]
end.submit
a.redirect_ok = false
download_page = a.get(ARGV[2])
system %Q{ wget #{download_page.response["location"]} --header="Cookie: #{download_page.response["set-cookie"]}" #{ARGV[3]}}
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment