如何使用cURL PHP在网站中导航

时间:2012-02-27 21:18:52

标签: php curl

我需要在网站中导航才能在网络服务中发送数据。

首先,我需要登录:http://192.168.1.1/event/users/sign_in 然后,我将重定向另一个页面:http://192.168.1.1/event 最后,我需要去另一个页面:http://192.168.1.1/event/management/attendee 在这个页面中,我需要通过POST方法在数组中发送一些数据。

我发布了我的代码,但没有工作。

/* For login */
$userpwd = "root:root";
$curl_rsc = curl_init();
curl_setopt($curl_rsc, CURLOPT_URL, $url_login);
curl_setopt($curl_rsc, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($curl_rsc, CURLOPT_HTTPAUTH, HTTP_AUTH_BASIC);
curl_setopt($curl_rsc, CURLOPT_USERPWD, $userpwd); //Here i have some doubts. Because if i change this variable always have a http_code = 200.
// or i need to send data in a array for login?
curl_setopt($curl_rsc, CURLOPT_RETURNTRANSFER, TRUE);
curl_exec($curl_rsc); // Get a http_code = 200

/* For go to the redirect page */
curl_setopt($curl_rsc, CURLOPT_URL, $url_next);
curl_setopt($curl_rsc, CURLOPT_FAILONERROR, TRUE);
curl_setopt($curl_rsc, CURLOPT_RETURNTRANSFER, TRUE);
curl_exec($curl_rsc); //Get a http_code = 200

/* For go to the target url when i want to send data */
curl_setopt($curl_rsc, CURLOPT_URL, $url_target);
curl_setopt($curl_rsc, CURLOPT_POST, TRUE);
curl_setopt($curl_rsc, CURLOPT_POSTFIELDS, $attendee); //Send the data in a array
curl_setopt($curl_rsc, CURLOPT_FAILONERROR, TRUE);
curl_setopt($curl_rsc, CURLOPT_TIMEOUT, 50);
curl_exec($curl_rsc); // Get a http_code = 500 Internal Server Error.

谁能告诉我我的错误是什么?谢谢:D

1 个答案:

答案 0 :(得分:1)

  

我有些疑惑。因为如果我改变这个变量,总是有一个http_code = 200。

您使用的是HTTP身份验证吗?如果不是这样做是错误的。除此之外,最后一页上的脚本失败,因此您需要检查服务器错误日志以查明正在发生的事情;您的代码似乎没有任何问题。