我正在寻找在LinkedIn上搜索业务“X”的方法,这需要有效的登录会话。我使用PHP的HttpRequest对象发出Http请求,但我不熟悉处理会话数据/ cookie以找出如何查明我的错误。使用PHP的HttpRequest登录网站?
$loginURL = "https://www.linkedin.com/uas/login-submit";
$loginPostData = array("session_key" => "[email protected]",
"session_password" => "itsasecret",
"source_app" => "",
"signin" => "",
"session_redirect" => "",
"csrfToken" => "",
"sourceAlias" => "",
);
$httpRequest = new HttpRequest($loginURL, HttpRequest::METH_POST);
$httpRequest->setContentType("application/x-www-form-urlencoded");
$httpRequest->addPostFields($loginPostData);
$httpRequest->setOptions(array("redirect" => 10));
$httpMessage = $httpRequest->send();
$responseBody = $httpMessage->getBody());
我写$ responseBody到一个文件,然后在浏览器中打开它,但它仅包含日志领域通用的LinkedIn页面。使用“篡改数据”扩展firefix,我可以看到下面的请求头允许Firefox加载一个会话查看网页:
Host=www.linkedin.com
Content-Type=application/x-www-form-urlencoded
Content-Length=124
POSTDATA=source_app=&[email protected]&session_password=itsasecret&signin=&session_redirect=&csrfToken=&sourceAlias=
有一些奇怪的有关数据,我回去过:我期望看到类似“无效的用户名或密码”,但我得到默认linkedin.com页面。
您是否坚持使用HttpRequest?你可以使用'curl'吗? –
我宁愿使用HttpRequest,因为我已经为它设置了,并且我没有在PHP中使用curl的经验。 – JoBu1324
我也用我的用户名中的“@”替换了“%40”,不起作用 – JoBu1324