所以在我的Mac上,我使用内置的localhost来测试我的PHP。看到此代码 在本地工作后,我将其上传到我自己的运行 Apache 2.2 和 PHP 5 的Linux服务器。
<?php
if(isset($_POST['username']) && isset($_POST['password'])) {
$login_url = 'https://logon.do';
$post_data = "username=" . urlencode($_POST['username']) . "&password=" . urlencode($_POST['password']);
$ch = curl_init();
$agent = $_SERVER["HTTP_USER_AGENT"];
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_URL, $login_url );
curl_setopt($ch, CURLOPT_POST, 1 );
curl_setopt($ch, CURLOPT_HEADER ,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$postResult = curl_exec($ch);
preg_match('/^Set-Cookie:\s*([^;]*)/mi', $postResult, $m);
parse_str($m[1], $cookies);
$data = $cookies['JSESSIONID'];
}
?>
我已经检查过数据是否正确发布并且URL是否正确形成。我不确定它是否在cURL内失败,因为我没有错误。我错过了我需要安装的软件包,或者我现在需要更改我的代码,因为它是在Linux上而不是我的本地Mac版本上?