2013-04-25 76 views
0

我想連接到一個表格的分數,在Flash遊戲中退出。 在使用瀏覽器,我發送它的這一個谷歌文檔腳本獲取一些網絡信息

POST /game/json?h=c1234567890f HTTP/1.1 
Host: pt3.forgeofempires.com 
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:20.0) Gecko/20100101 Firefox/20.0 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: en-US,en;q=0.5 
Accept-Encoding: gzip, deflate 
Cookie: sid=awsndax7nsow; req_page_info=game_v1; start_page_type=game; start_page_version=v1 
Connection: keep-alive 
Referer: http://cdn.pt.forgeofempires.com/swf/Main.swf?123456789 
Content-type: application/x-www-form-urlencoded 
Content-length: 161 

34c4ceb6d8[{"requestClass":"ClanService","requestMethod":"getOwnClanData","requestData":[],"requestId":1,"__class__":"ServerRequest","clientVersionNumber":0.31}] 

找了一會兒後,頭(我在JavaScript確認是不是高度),我確實發現一些例子,瞭解他們後,我沒有讓我的自己的代碼。

function test(){ 
    var header = 
     { 
     'Host': 'pt3.forgeofempires.com', 
     'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; rv:20.0) Gecko/20100101 Firefox/20.0', 
     'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 
     'Accept-Language': 'en-US,en;q=0.5', 
     'Accept-Encoding': 'gzip, deflate', 
     'Cookie': 'sid=awsndax7nsow; req_page_info=game_v1; start_page_type=game; start_page_version=v1', 
     'Connection': 'keep-alive', 
     'Referer': 'http://cdn.pt.forgeofempires.com/swf/Main.swf?123456789', 
     'Content-type': 'application/x-www-form-urlencoded', 
     'Content-length': '161', 
     '': '96c4ceb6d9[{"requestClass":"ClanService","requestMethod":"getOwnClanData","requestData":[],"requestId":4,"__class__":"ServerRequest","clientVersionNumber":0.31}]' 
     } 

    var url = "http://pt3.forgeofempires.com/game/json?h=c1234567890f"; 
    var h = { 
    'method' : "post", 
    'payload' : header 
    }; 
    var response = UrlFetchApp.fetch(url, h); 
    return response; 
} 

當我運行代碼時,它總是進入登錄頁面。 不知道是否因爲任何腳本錯誤或簡單發生,因爲它是一個不同的IP地址訪問我的帳戶。 不知道如何發送最後一部分,因爲最後一部分只是文本數據。

任何幫助將不勝感激...謝謝提前

回答

0

你加入你的標題作爲有效載荷。 UrlFetchApp提供了添加標題的方法。使用

var h = { 
    'method' : "post", 
    'headers' : header 
    }; 
    var response = UrlFetchApp.fetch(url, h); 

我不確定你的有效載荷是什麼。在標題列表中,有一個空白標題 - 這是有效載荷嗎?如果是,則必須分別添加有效負載。

var h = { 
    'method' : "post", 
    'headers' : header, 
    'payload' : '96c4ceb6d9[{"requestClass":"ClanService","requestMethod":"getOwnClanData","requestData":[],"requestId":4,"__class__":"ServerRequest","clientVersionNumber":0.31}]' 
    }; 
    var response = UrlFetchApp.fetch(url, h); 

注意:確保從標題列表中刪除空白標題。

+0

謝謝隊友,猜想我在閱讀時忽略了有效載荷的事情。現在正在工作...... – Miguel 2013-04-26 10:05:47