【发布时间】:2010-04-18 05:25:50
【问题描述】:
'SOUP.IO' 不提供任何 API。所以我尝试使用'PHP Curl'通过PHP登录和提交数据。
我能够成功登录网站(通过 cUrl),但是当我尝试通过 cUrl 提交数据时,它给了我“无效用户”的错误。
当我尝试分析代码和网站时,我了解到 cUrl 仅获取 1-2 个 cookie 的值。当我在 FireFox 中打开同一页面时,它会显示与“SOUP.IO”相关的 6-7 个 cookie。
谁能指导我如何获取所有这 7 个 cookie 值。
以下 cookie 可通过 cUrl 获取:
soup_session_id
以下 cookie 在 Firefox 中显示(不是通过 cUrl):
__qca, __utma, __utmb, __utmc, __utmz
以下是我的 cUrl 代码:
<?php
session_start();
$cookie_file_path = getcwd()."/cookie/cookie.txt";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.soup.io');
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729) FirePHP/0.4');
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
print_r($result);
?>
有人可以在这方面指导我吗
提前致谢
【问题讨论】: