-
-
Save kingbin/1690064 to your computer and use it in GitHub Desktop.
require 'open-uri' | |
pollNumber = '5876349' | |
ourPick = '26523547' | |
uriString = 'http://polldaddy.com/n/64270c358614e8ef9383968590e82f73/'.concat(pollNumber).concat('?').concat(Time.now.to_i.to_s()) | |
puts uriString | |
# Headers | |
HEADERS = { | |
'Host' => 'polldaddy.com', | |
'User-Agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7', | |
'Referer' => 'http://speakimge.wordpress.com/' | |
# 'Accept' => '*/*', | |
# 'Accept-Language' => 'en-US,en;q=0.8', | |
# 'Accept-Encoding' => 'gzip,deflate,sdch', | |
# 'Accept-Charset' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', | |
# 'Keep-Alive' => '300', | |
# 'Connection' => 'keep-alive', | |
# 'Cache-Control' => 'max-age=0' | |
} | |
puts '------1st Request For The Magic CoOkie!--------' | |
res = open(uriString, HEADERS).read | |
puts res.split(';')[0] | |
cookie = res.split(';')[0][14,32] | |
puts cookie | |
puts '------2nd Request to Cast Our Vote!--------' | |
uriString = 'http://polls.polldaddy.com/vote-js.php?p='.concat(pollNumber).concat('&b=0&a=').concat(ourPick).concat(',&o=&va=0&cookie=0&url=http%3A//speakimge.wordpress.com/2012/01/25/under-the-covers/&n=').concat(cookie) | |
puts uriString | |
HEADERS['Host'] = 'polls.polldaddy.com' | |
HEADERS['Referer'] = 'http://speakimge.wordpress.com/2012/01/25/under-the-covers/' | |
res = open(uriString, HEADERS).read | |
puts res |
I never nailed this script 100%. I ended up using an automation testing tool(watir-webdriver) to get the same result successfully multiple times. Check out gist https://gist.github.com/1699540
In that example the poll was located at the url speakimge.wordpress.com/2012/01/25/under-the-covers/
I used chrome to figure out the correct radio button and the events to vote and redirect back to initial screen in the loop. I imagine you'll see something similar.
Polldaddy will limit the # of votes you can cast in a time period. I used tor to get around this and set the proxy configuration on line 7. I was able to cast unlimited # of votes after that.
As of May 31, 2024, here's a working python version and Windows executable at https://github.com/wrestleraaron/polldaddy_automation. You still need to understand the basics of the poll, but it can be placed in a yaml file for easy changes to vote on different polls. Thanks @kingbin for the guidance, especially on the cookies portion
I constructed URLs that worked when I entered them manually in a browser but not when I tried them in a script - it would just return some headers. I downloaded this and plugged in the numbers and I get the same result. Does this script still work for you?