2013-04-25 24 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