<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-2645505844339148630</id><updated>2009-07-15T02:04:43.822-07:00</updated><title type='text'>Reddit Scripts</title><subtitle type='html'>My PHP scripts playground</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://redditscripts.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2645505844339148630/posts/default'/><link rel='alternate' type='text/html' href='http://redditscripts.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mister Twister</name><uri>http://www.blogger.com/profile/12206418264686287615</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2645505844339148630.post-4082854526346991642</id><published>2007-04-05T01:09:00.000-07:00</published><updated>2007-04-05T01:35:27.855-07:00</updated><title type='text'>Script That Makes Comments in All Posts in Reddit</title><content type='html'>Hello there!&lt;br /&gt;&lt;br /&gt;Below is the PHP script that drop comments in all REDDIT posts starting from the first page.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;This script is just for educational purposes!&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;DO NOT RUN IT!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;/*&lt;br /&gt; * This software is for educational purposes only&lt;br /&gt; * Do not run it in the internet or use it for automated comments posting&lt;br /&gt; *&lt;br /&gt; * READ ME:&lt;br /&gt; * 1. Put correct reddit username and password &lt;br /&gt; * 2. Run it from command line: &lt;br /&gt; * &lt;br /&gt; * php reddit_commenter.php&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;define("USER", "reddit_username");&lt;br /&gt;define("PASS", "reddit_password");&lt;br /&gt;define("USE_PROXY", false); &lt;br /&gt;define("HTTP_PROXY_SERVER", "127.0.0.1:3128");&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;DO NOT CHANGE THE LINES BELOW&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;define("HOSTNAME", "http://reddit.com"); &lt;br /&gt;&lt;br /&gt;$default_header[] = "Accept: */*";&lt;br /&gt;$default_header[] = "Accept-Language: uk";&lt;br /&gt;$default_header[] = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)";&lt;br /&gt;$default_header[] = "Host: reddit.com";&lt;br /&gt;$default_header[] = "Proxy-Connection: Keep-Alive";&lt;br /&gt;$default_header[] = "Pragma: no-cache";&lt;br /&gt;$default_header[] = "x-prototype-version: 1.3.1";&lt;br /&gt;$default_header[] = "x-requested-with: XMLHttpRequest";&lt;br /&gt;&lt;br /&gt;$DEFAULT_HEADER = $default_header; &lt;br /&gt;&lt;br /&gt;$login_header[] = "Accept: */*";&lt;br /&gt;$login_header[] = "Accept-Language: uk";&lt;br /&gt;$login_header[] = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)";&lt;br /&gt;$login_header[] = "Host: reddit.com";&lt;br /&gt;$login_header[] = "Proxy-Connection: Keep-Alive";&lt;br /&gt;$login_header[] = "Pragma: no-cache";&lt;br /&gt;$login_header[] = "x-prototype-version: 1.3.1";&lt;br /&gt;$login_header[] = "Referer: http://reddit.com";&lt;br /&gt;$login_header[] = "x-requested-with: XMLHttpRequest";&lt;br /&gt;&lt;br /&gt;$LOGIN_HEADER = $login_header; &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;$post_header[] = "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-icq, */*";&lt;br /&gt;$post_header[] = "Accept-Language: uk";&lt;br /&gt;$post_header[] = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)";&lt;br /&gt;$post_header[] = "Host: reddit.com";&lt;br /&gt;$post_header[] = "Proxy-Connection: Keep-Alive";&lt;br /&gt;$post_header[] = "Pragma: no-cache";&lt;br /&gt;$post_header[] = "x-prototype-version: 1.3.1";&lt;br /&gt;$post_header[] = "x-requested-with: XMLHttpRequest";&lt;br /&gt;&lt;br /&gt;$POST_HEADER = $post_header; &lt;br /&gt;&lt;br /&gt;define("COOKIE_FILENAME", "C:/cookie.txt");&lt;br /&gt; &lt;br /&gt;function GetCurlPage ($pageSpec, $header, $follow=true) {&lt;br /&gt;   $ch = curl_init($pageSpec);&lt;br /&gt;   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);&lt;br /&gt;   curl_setopt($ch, CURLOPT_VERBOSE, 0); &lt;br /&gt;   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);&lt;br /&gt;   curl_setopt($ch, CURLOPT_HTTPHEADER, $header);&lt;br /&gt;   if ($follow) curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);&lt;br /&gt;   if (USE_PROXY) curl_setopt($ch, CURLOPT_PROXY, HTTP_PROXY_SERVER);&lt;br /&gt;   curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIE_FILENAME);&lt;br /&gt;   curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIE_FILENAME);&lt;br /&gt;   $tmp = curl_exec ($ch);&lt;br /&gt;   curl_close ($ch);&lt;br /&gt;   return $tmp;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function PostCurlPage ($pageSpec, $data, $header, $follow=false) {&lt;br /&gt;   $ch = curl_init($pageSpec);&lt;br /&gt;   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);&lt;br /&gt;   curl_setopt($ch, CURLOPT_VERBOSE, 0); &lt;br /&gt;   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);&lt;br /&gt;   curl_setopt($ch, CURLOPT_HTTPHEADER, $header);&lt;br /&gt;   if ($follow) curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);&lt;br /&gt;   if (USE_PROXY) curl_setopt($ch, CURLOPT_PROXY, HTTP_PROXY_SERVER);&lt;br /&gt;   curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIE_FILENAME);&lt;br /&gt;   curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIE_FILENAME);&lt;br /&gt;   curl_setopt($ch, CURLOPT_POST, 1);&lt;br /&gt;   curl_setopt($ch, CURLOPT_POSTFIELDS, $data);&lt;br /&gt;   $tmp = curl_exec ($ch);&lt;br /&gt;   curl_close ($ch);&lt;br /&gt;   return $tmp;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function startpage($link){&lt;br /&gt; global $DEFAULT_HEADER;&lt;br /&gt; $header = $DEFAULT_HEADER;&lt;br /&gt; return GetCurlPage($link, $header);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function login(){&lt;br /&gt; global $LOGIN_HEADER;&lt;br /&gt; $login_data = "ajax=1&amp;op=login&amp;user=".USER."&amp;passwd=".PASS."&amp;rem=on&amp;_=";&lt;br /&gt; $login_length = strlen($login_data);&lt;br /&gt; $header = $LOGIN_HEADER;&lt;br /&gt; $header[] = "Content-Type: application/x-www-form-urlencoded";&lt;br /&gt; $header[] = "Content-Length: $login_length";&lt;br /&gt; $header[] = "Referer: ".HOSTNAME;&lt;br /&gt; return PostCurlPage("http://reddit.com/login", $login_data, $header);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function get_comment_page($post_link){&lt;br /&gt; global $DEFAULT_HEADER;&lt;br /&gt; $header = $DEFAULT_HEADER;&lt;br /&gt; return GetCurlPage($post_link, $header);&lt;br /&gt;} &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;function create_post_data($url, $parent_id, $comment){&lt;br /&gt; return "url=".urlencode($url)."&amp;parentid=".$parent_id."&amp;comment=".urlencode($comment); &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function post_comment($url, $parent_id, $comment){&lt;br /&gt; global $DEFAULT_HEADER;&lt;br /&gt; $post_data = create_post_data($url, $parent_id, $comment);&lt;br /&gt; $login_length = strlen($post_data);&lt;br /&gt; $header = $DEFAULT_HEADER;&lt;br /&gt; $header[] = "Content-Type: application/x-www-form-urlencoded";&lt;br /&gt; $header[] = "Content-Length: $login_length";&lt;br /&gt; $header[] = "Referer: ".HOSTNAME."$url";&lt;br /&gt; $post = PostCurlPage("http://reddit.com/comment", $post_data, $header);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function get_comment_links($html){&lt;br /&gt; $pattern = '/href="(\/info\/[^\/]+\/comments)"\sclass="bylink"/';&lt;br /&gt; preg_match_all($pattern, $html, $matches);&lt;br /&gt; return $matches[1];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function get_parent_id ($html) {&lt;br /&gt; $pattern = '/&amp;lt;input\stype="hidden"\sname="parentid"\svalue="(\d+)?"&amp;gt;/';&lt;br /&gt; preg_match_all($pattern, $html, $matches);&lt;br /&gt; return $matches[1][0];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$post_body = "This is automated comment from [REDDIT automated commenter PHP script](http://redditscripts.blogspot.com/2007/04/script-that-makes-comments-in-all-posts.html)";&lt;br /&gt;&lt;br /&gt;for($i=0; $i&amp;lt;500; $i+=25){&lt;br /&gt; if (login()=='0'){&lt;br /&gt;  echo "Processing http://reddit.com/?offset=$i\n";&lt;br /&gt;  $start_page = startpage("http://reddit.com/?offset=$i");&lt;br /&gt;  $comment_links = get_comment_links($start_page);&lt;br /&gt;  foreach ($comment_links as $comment_link){&lt;br /&gt;   echo "\tget comment link $comment_link\n";&lt;br /&gt;   $comment_page = get_comment_page(HOSTNAME.$comment_link);&lt;br /&gt;   $parent_id = get_parent_id($comment_page);&lt;br /&gt;   post_comment($comment_link, $parent_id, $post_body);&lt;br /&gt;   echo "\tPost done\n";&lt;br /&gt;  }&lt;br /&gt; } else {&lt;br /&gt;  echo "Cannot login [$login]";&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2645505844339148630-4082854526346991642?l=redditscripts.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://redditscripts.blogspot.com/feeds/4082854526346991642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2645505844339148630&amp;postID=4082854526346991642' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2645505844339148630/posts/default/4082854526346991642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2645505844339148630/posts/default/4082854526346991642'/><link rel='alternate' type='text/html' href='http://redditscripts.blogspot.com/2007/04/script-that-makes-comments-in-all-posts.html' title='Script That Makes Comments in All Posts in Reddit'/><author><name>Mister Twister</name><uri>http://www.blogger.com/profile/12206418264686287615</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02669955970357069512'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>12</thr:total></entry></feed>