我尝试模拟LinkedIn Web浏览器(PHP)的授权。我使用Guzzle Http Client。Guzzle Http客户端和LinkedIn上的授权
下面是授权码的一部分:
use GuzzleHttp\Client as LinkedinClient;
use PHPHtmlParser\Dom as Parser;
public function authLinkedin()
{
$client = new LinkedinClient(['base_url' => 'https://www.linkedin.com']);
try {
$postData = [
'session_key' => 'My_email',
'session_password' => 'My_password',
'action' => 'login'
];
$request = $client->createRequest('POST', '/uas/login', ['body' => $postData, 'cookies' => true]);
$response = $client->send($request);
if ($response->getStatusCode() === 200) {
$parser = new Parser();
$parser->load($client->get('https://www.linkedin.com/', ['cookies' => true])->getBody());
return $parser;
} else {
Log::store("Authorization error", Log::TYPE_ERROR, $request->getStatusCode());
return null;
}
return $request;
} catch (Exception $ex) {
Log::store("Failure get followers", Log::TYPE_ERROR, $ex->getMessage());
return null;
}
}
请求成功,返回一个200码,但我并没有授权。谁可以面对类似的任务,或者在代码中漏掉了什么。我将不胜感激任何建议。
完整讯息数据演示:session_key可以=测试%40gmail.com&session_password = asdasdasdasd&isJsEnabled =假loginCsrfParam = 252be5bc-6822-4020-8a80-439a809f8f73 &sourceAlias = 0_7r5yezRXCiA_H0CRD8sf6DhOjTKUNps5xGTqeX8EEoi&提交=登录+中....你丢失了太多的东西。 xD –