首頁 > FLEX, 程式設計, 網頁設計, 雜七雜八 > funP 自動推文機不夠看 , 友情加溫機 燃燒你的青春

funP 自動推文機不夠看 , 友情加溫機 燃燒你的青春

2009年4月24日  瀏覽次數 : 2,466

一直想靠 funP 一炮而紅的網友們,總是在 funp 狂推一通,但是總是推到手痠吧,一定會搜尋一個叫做 funp 自動推文,搜尋一下有看到有人用 java 寫,有人用 firefox 配合 imacro 來寫巨集,不過現在似乎都不適用了,因為 funp 規定一天推超過 120 篇就要開始打數字驗證囉,所以我們能做的就剩下友情囉,注意 : 我寫公布這篇文章,我知道 funp 一定會修正,大家應該也用不了多久,我是希望 funp 修正,但是我不認為自動加好友有違反到公平性,一切仍看 funp 決議。

image 圖片 : corAusir 自製 funP 友情加溫機 純程式開發研究使用

撰寫這篇的原因,我只是希望可以讓程式設計的同好們做中學習 FLEX ,可以有一個真實的使用範例還看 FLEX 怎麼使用,雖然是很小的東西,而且我相信這個 BUG 要給 FUNP 修復也是輕而易舉的,不過那都不是重點,這篇主要是解析 AJAX 的原理,以及 FLEX 的 HTTPSERVICE 的運用,如果只是想運用的朋友,我不知道這隻程式可以用多久,也許沒幾天就不能用了吧。請以學習為重點。

FUNP http://funp.com/ 是一個很厲害的文章推薦平台,我很愛他,也很恨他,因為總是要點他點的要死,但是我也很愛他可以告訴我每天的新知,好玩的,好吃的,好用的,基本上我每天不看 FUNP 是不行的,他的網站是由交大的學生以及校友所成立的,我不禁想好奇的問,你們搞了一個無名賣給 YAHOO 還不夠,現在還可以搞出一個這麼好用的 FUNP ,那以後賣給了 YAHOO 我該怎麼辦呢 ?

首先我們先來分析一下 FUNP 的程式碼到底怎麼寫的呢,看來用了非常多的 AJAX 。

image 這些就是我們的目標人物,來看看加入好友的程式碼吧。

image 重點就在這段 JAVASCRIPT 阿,送入使用者參數可以開出使用者加入好友的頁面。

image 找了半天,原來是呼叫這個 JS 檔案裡面的程式碼。

image 果然找到了顯示使用者資料的方法了,那加入好友一定就在這個顯示資料裡面囉,不過似乎要讓人不是很清楚看,所以故意被拉成一長條都沒斷行,不過我們還是找到了加入好友的按鈕。

image 原來加入好友是利用 addtofrd 這個 js function 繼續往下層尋找吧。

image 我們在 JS 檔案中找到這個方法。

image 整理一下原始碼,是利用 AJAX 去開啟一個是否確認加入好友的視窗。

image AJAX 回傳的頁面結果就是這個頁面,我們再來看看這個確認是在哪裡吧。

image 由於之前的對話窗顯示的頁面最後顯示的是這個方法,因此我們在裡面找到了確認的時候 submit 的方法,再回去搜尋吧。

image 經過了翻山越嶺,阿…不是啦,是翻了好幾層檔案,終於找到新增好友的 AJAX 網址囉,所以我們就可以用這個網址來新增好友囉,直接來試試看吧。

建議 : 請不要加太多好友,因為如果你的 FUNP 金幣不夠,是不會讓你發信的喔。請酌量使用。

解說 : 這次的程式,因為有跨網域存取的安全性問題,所以使用者必須先下載程式,再將檔案放入安全性例外清單。

image並且選擇你下載回來的 SWF 檔案

之後將使用者帳號以 # 分隔填入空白欄位,這樣子就可以交給他推文囉。

程式放在 http://files.corausir.org/swf/funpadd.swf 請按右鍵另存

當對方也把你加入好友後,就可以使用 FUNP 的群發功能,但是每發一個好友會扣掉一個 FUNP 金幣,也就是即使你有一堆好友,但是沒有錢,也是沒作用的啦,而且如果你的好友一堆,但是金幣不夠,也會卡住你不可以發信喔,請小心啦。

程式使用必須使用瀏覽器開啟,並且先登入過 FUNP 喔。

本程式沒有記錄任何使用者帳號密碼,請安心使用囉~

本來這篇是想說明 FLEX httpservice 的使用方式,所以一起把原始碼公開吧。

funpadd.mxml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" fontSize="14">
	<mx:Script>
		<![CDATA[
			import flash.net.navigateToURL;
			import mx.collections.ArrayCollection;
			import mx.utils.StringUtil;
			import mx.rpc.events.ResultEvent;
			[Bindable]
			private var friendArray:Array ;
			[Bindable]
			private var addFriendSucess:ArrayCollection = new ArrayCollection();
			[Bindable]
			private var processName:String;
			[Bindable]
			private var nextName:String;
 
			private function addFriendHandler(name:String):void{
				//送出一個 POST 使用者資料來新增好友
				var obj:Object = new Object();
				obj.act = "addfriend";
				obj.name = name;
				this.getfunp.send(obj);
			}
			private function addFriendResult(event:ResultEvent):void{
				//把陣列的第一筆去除掉
				this.friendArray = this.friendArray.slice(1,this.friendArray.length);
				//結果報告清單
				this.addFriendSucess.addItemAt(event.result,0);
				//繼續新增好友
				doAddFriend();
			}
			private function clickHandler():void{
				//var arry:Array = this.friendList.text.replace(" ","").replace("\r","").split("# ");
				//trace(arry);
				var trimString:String = this.friendList.text;
				//先把 空白 字通通拿掉
				//注意 : replace 只會執行第一次找到的文字 所以要用迴圈
				while(trimString.indexOf(" ")!= -1){
					trimString = trimString.replace(" ","");
				}
				//再把換行符號 \r 給拿掉
				//注意 : replace 只會執行第一次找到的文字 所以要用迴圈
				while(trimString.indexOf("\r")!= -1){
					trimString = trimString.replace("\r","");
				}
				this.friendArray = trimString.split("#");
 
				//不想把 funP 的機器搞掛所以我設定新增完好友還要等待30秒才可以去加入新的好友
				doAddFriend();
			}
			private function doAddFriend():void{
				//如果好友名單內還有好友
				if(this.friendArray.length > 0){
					//處理中的好友名字
					this.processName = this.friendArray[0];
					//下一個要處理的好友
					this.nextName = this.friendArray[1];
					//新增好友
					addFriendHandler(this.friendArray[0]);
				}
			}
			private function urlClickHandler():void{
				var url:URLRequest = new URLRequest("http://blog.corausir.org/");
				navigateToURL(url,"_blank");
			}
		]]>
	</mx:Script>
	<mx:HTTPService id="getfunp" url="http://funp.com/people/friend/friendmgt.ajax.php?act=addfriend" method="POST" result="addFriendResult(event)" resultFormat="text"/>
	<mx:ApplicationControlBar width="500">
		<mx:LinkButton label=":: corAusir :: 程式逗設計   ---- funP 友情加溫機" click="urlClickHandler()"/>
	</mx:ApplicationControlBar>
	<mx:Canvas width="500" height="300" borderColor="#E2E7EB" themeColor="#D4D4D4" cornerRadius="20" alpha="0.81" backgroundColor="#DED4D4">
		<mx:VBox width="100%" height="100%">
			<mx:Label text="請填入好友名單 NOTE:第一個請不要出現 # 字"/>
			<mx:TextArea id="friendList" width="100%" height="100"/>
			<mx:Button label="執行" click="clickHandler()"/>
			<mx:Label text="已新增好友筆數 : {this.addFriendSucess.length}  尚未處理好友筆數 :  {this.friendArray.length} "/>
			<mx:Label text="目前處理好友帳號 : {this.processName} 下一筆好友 : {this.nextName}"/>
			<mx:List width="100%" height="100%" dataProvider="{this.addFriendSucess}"></mx:List>
		</mx:VBox>
	</mx:Canvas>
</mx:Application>

Random Posts

Loading…

:: 把這篇好文推到書籤網站與更多人分享吧 ::
  • funp
  • Hemidemi
  • YahooKimo
  • Google
  • udn
  • Haohao
  • Live

目前並無相關文章

Ausir FLEX, 程式設計, 網頁設計, 雜七雜八 , ,

  1. 2009年4月24日16:58 | #1

    沒有金幣
    無法用喔
    可惜之處

  2. 2009年4月24日17:00 | #2

    @佶也

    金幣要努力發文啦~
    讓人家看到你最好的文章喔

  3. 2009年4月24日17:23 | #3

    Funp不是已經有內建群發功能了嗎?

  4. 2009年4月24日17:25 | #4

    @馬諦斯

    這個不是群發喔~
    這個是幫你加好友 ( 因為原廠的 FUNP 加好友的功能很笨 一次一個人)
    等對方也把你加入好友
    這樣才可以進行群發的動作

  5. 2009年4月24日19:28 | #5

    群發功能在哪? orz

  6. 2009年4月24日22:25 | #6

    @宅

    全發就是發信的時候勾選
    所有互設為朋友的好友(每位需扣1點funP紅利點數)

    這樣就是群發了阿~

  7. 2009年4月25日02:23 | #7

    群發真的太貴了~
    像你加了N個
    發不了吼….@@

  8. 2009年4月25日05:00 | #8

    嗯嗯~~!!加推文者為好友!!

  9. 2009年4月25日10:03 | #9

    好像很好用~但是我不會~@@
    有一天給推120篇嗎?我每天都還沒推就要驗證了ㄋㄟ~沒有一次是 很順的

  10. 2009年4月25日10:04 | #10

    @melody

    這個只是幫你批次加入好友
    並沒有推文功能啦 ^^”

    至於推 120 篇好像是看休息間隔
    我是每次休息 24 小時之後就可以推 120 篇

  11. 2009年4月25日10:25 | #11

    原來如此~

    我好像還沒在funp發過訊息..難怪沒看過..orz

  12. 2009年4月25日19:45 | #12

    看完之後霧煞煞…

    我還是乖乖推好了

  13. 2009年4月25日23:49 | #13

    @炮爺

    哈~@@ 我好像解釋的不是很清楚
    因為 FUNP 本來加好友的動作蠻複雜的
    所以我就把它改成可以批次自動加好友
    這樣子比較方便 ^^

  14. 2009年4月26日07:00 | #14

    呵呵,我也自己搞了一個自動加好友小東東…XD

  15. 2009年4月28日12:25 | #15

    大大寫一個群發不用付費的金手指呀~
    一封一塊好貴呀~~
    要存好久喔!!

  16. 2009年6月8日00:12 | #16

    不知道為啥,看到沒啥廣告的好部落格,我會很想加入我的連結XD
    你文章真得不錯呢!

  17. 2009年6月8日09:55 | #17

    @莫小屁

    未來也許會有廣告阿 XD
    不過暫時沒有
    先加入吧 ^_^ 哈哈哈

  18. lip
    2010年7月14日10:37 | #18

    replace那裡可以這樣寫
    this.friendArray = trimString.replace(/\s/g,”").split(’#');

  1. 本篇文章目前尚無任何 trackbacks 和 pingbacks。