我试图登录并从API返回的个人资料信息,在这里API是登录文件的一部分:登录使用PHP和卷曲
登录使用的帐户创建指定邮箱。需要现有的基于电子邮件的帐户。有效的登录会导致到/ 99/profile页面的重定向结果,以及新的sessionid cookie的生成。 sessionid保留用户登录并具有很长的持续时间(持续数周不活动)。
他们sugest的PHP代码:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://99motos.apiary.io/accounts/login/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, "login=string&password=string");
$response = curl_exec($ch);
curl_close($ch);
var_dump($response);
?>
我用这个代码,改变了“CURLOPT_HEADER”为真,我代替我的帐户凭据的字符串。一切工作正常,它返回:
HTTP/1.1 302 FOUND Date: Wed, 26 Feb 2014 20:04:43 GMT Server: Apache/2.4.6 (Unix) OpenSSL/1.0.1f mod_wsgi/3.4 Python/2.7.6 Vary: Accept-Language,Cookie Content-Length: 0 Location: https://server.99motos.com/99/profile/ Content-Language: pt-br Set-Cookie: sessionid=n8eb7u29n4q7gapfw3b3hlo0q0koi9t0; expires=Wed, 12-Mar-2014 20:04:43 GMT; httponly; Max-Age=1209600; Path=/ Content-Type: text/html; charset=utf-8
有一个“位置”链接到个人资料页,但我怎样才能到的“https://server.99motos.com/99/profile/”的信息?我知道它会返回一个JSON,但每次尝试手动访问此链接时,它都会返回一个JSON,指出“用户不存在”,我认为这是由于会话ID。
在这个API,我们可以得到的代码来分析,这里是文档中的解释,
简介:
给出了基本的用户资料信息。尽管不幸的前缀,这是一个普通的帐户页面。用户必须登录(使用有效的sessionid cookie)才能访问此页面。该页面产生关于用户的一般“记账”信息,特别是返回用户是否已完成注册以成为“个人”(请求骑车人的用户)和“骑手”(接受订单请求的用户)以及该设备接收PUSH消息所需的信息存在。 first_login
值已被弃用,并被替换为单独的is_individual
和is_rider
值。
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://99motos.apiary.io/99/profile/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
$response = curl_exec($ch);
curl_close($ch);
var_dump($response);
但可能是以前的错误,它会返回 “用户不存在”,它应该返回:
200 (OK)
{
"id": 0,
"initial_name": "John Doe",
"first_login": True,
"is_individual": False,
"is_rider": False,
"need_device_info": True,
}
有人吗? ._。对于这个looong问题抱歉...谢谢。与卷曲
我不知道你在哪里可以使用cookie jar而不使用文件。在其他语言(如PERL)中可以。不确定PHP。购买方式,编辑/删除您以前的评论***,否则某些版主可以将其标记为标志!我很高兴看到它为你工作:-) –
不得不删除评论。谢谢。 – Thyoity