2013-01-10 330 views
0

我已经没有足够的尝试了......刚刚得到这个“你做得太多了,27分钟后再试一次。”所以我想我会来这里问。无法获得/ api/login /工作 - JavaScript/Reddit


这是我送

URL请求:

http://www.reddit.com/api/login/ 

头:

User-Agent: "Reddit test app" 

POST数据:

user=USERNAME&passwd=PASSWORD&api_type=json 

的URL,而不是把参数......奇怪的作品!我想避免这种情况,因为在URL中传递密码可能并不安全。

例如http://www.reddit.com/api/login/?user=USERNAME&passwd=PASSWORD&api_type=json


另一个问题...我怎么访问/api/v1/me/

尝试将modhash作为GET/POST参数传递,并将“uh”作为标题传递。他们都没有工作。


任何想法我做错了什么?谢谢! :)

回答

1

首先,您可以使用https://ssl.reddit.com进行登录。这使得关于将参数作为URL的一部分传递是不必要的。

其次,/ api/v1/me /只能用于具有“身份”范围的OAuth2访问。它不能从登录的会话中访问。

至于为什么你的POST请求不工作,你可能错误地编码了POST数据。尝试将您的数据发布到http://httpbin.org/post,看看您是否得到预期的结果。

+0

且不说“藏”在POST数据的密码甚至没有远程安全。 –

+0

@NeilWilliams同意。 – bboe

1

我知道它的一个老问题,但只是想添加一个答案,以防万一在这里提到。我认为问题在于不在标题中使用“内容类型”,因此发布数据得到正确处理。我犯了同样的错误和一个叫“.setRequestHeader(”Content-type“,”application/x-www-form-urlencoded“);”修复。我认为每个人都在使用像jQuery这样的框架,这必须在内部完成。