I'm trying to login to https://www.reporo.com/login.php using Curl. Here is code I'm using:
<?php
function createPostString($aPostFields) {
foreach ($aPostFields as $key => $value) {
$aPostFields[$key] = urlencode($key . '=' . $value);
}
return urlencode(implode('&', $aPostFields));
}
$postFields['username'] = 'login';
$postFields['password'] = 'pass';
$postFields['submit'] = ' ';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://www.reporo.com/login.php');
curl_setopt($curl, CURLOPT_REFERER, 'https://www.reporo.com/login.php');
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13');
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
curl_setopt($curl, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, createPostString($postFields));
curl_exec($curl);
header('Location: https://www.reporo.com/analytics/dashboard.php');
curl_close($curl)
?>
After using script it redirects me to http://best-payroll-services.info/adder/login.php . Where is the problem ?
After var_dump(curl_getinfo($c)) I've got:
'url' => string 'https://www.reporo.com/login.php' (length=32)
'content_type' => string 'text/html' (length=9)
'http_code' => int 200
'header_size' => int 382
'request_size' => int 192
'filetime' => int -1
'ssl_verify_result' => int 20
'redirect_count' => int 0
'total_time' => float 0.843
'namelookup_time' => float 0
'connect_time' => float 0.109
'pretransfer_time' => float 0.531
'size_upload' => float 255
'size_download' => float 3233
'speed_download' => float 3835
'speed_upload' => float 302
'download_content_length' => float 3233
'upload_content_length' => float 255
'starttransfer_time' => float 0.655
'redirect_time' => float 0
'certinfo' =>
array
empty
'redirect_url' => string '' (length=0)
Greetings.
There are a couple of things that are wrong with this script.
You need to change the relative path of cookies:
to an absolute
so that you're sure it's checking the right file.
Also
str_replace( '/', '', $_SERVER[ "PHP_SELF" ] );
is a return function. That means you need to store the returned value:I've slightly modified your code to this:
Here's a script I wrote to login to the Reporo site and download the overall advertiser stats for a particular date (specified in the url). I'm pretty sure this is what you're looking for.
I'm assuming that the website it redirects to belongs to you, because the only thing in that code that redirects is the following line:
I'm guessing the problem is with:
That file doesn't appear to exist, which is why it's running: