2016-02-18 4 views
0

мой ниже код PHP не работает. Я создал тестовый идентификатор пользователя & пароль, который совместно используется в коде. Файл не имеет значения. Но я вижу, что этот код редактируется каждый раз, когда я выполняю этот код.CURL не дает никаких значений

<?php 
$username = '8632465'; 
$password = 'basade41'; 
$loginUrl = 'https://cabinet.instaforex.com/partner/login'; 
//$userAgent = 'Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0'; 
$config['useragent'] = 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0'; 

//$userAgent = $_SERVER['HTTP_USER_AGENT']; 
//init curl 
$ch = curl_init(); 

curl_setopt($ch, CURLOPT_USERAGENT, $config['useragent']); 

//Set the URL to work with 
curl_setopt($ch, CURLOPT_URL, $loginUrl); 

// ENABLE HTTP POST 
curl_setopt($ch, CURLOPT_POST, 1); 

//Set the post parameters 
curl_setopt($ch, CURLOPT_POSTFIELDS, 'user='.$username.'&pass='.$password); 

//Handle cookies for the login 
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); 

//Setting CURLOPT_RETURNTRANSFER variable to 1 will force cURL 
//not to print out the results of its query. 
//Instead, it will return the results as a string return value 
//from curl_exec() instead of the usual true/false. 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

//execute the request (the login) 
$store = curl_exec($ch); 

//the login is now done and you can continue to get the 
//protected content. 

//set the URL to the protected file 
curl_setopt($ch, CURLOPT_URL, 'https://cabinet.instaforex.com/partner/aff_statistic'); 

//execute the request 
$content = curl_exec($ch); 

//save the data to disk 

file_put_contents('c:/xampp/htdocs/upload/test.txt', $content); 

?> 

ответ

0

Я думаю, что ваш код не имеет некоторых настроек. например: CURLOPT_CAINFO ... Это мой HTTPS код

<?php 

//The CA certificate path 
$caDir = '....../GeoTrustGlobalCA.crt'; 

//cookie file path 
$cookieDir = '......'; 

//URL 
$url = 'https://www.zhihu.com/......'; 

$defaultOpt = array(
    CURLOPT_RETURNTRANSFER => true,  // return web page 
    CURLOPT_HEADER   => false, // don't return headers 
    CURLOPT_FOLLOWLOCATION => true,  // follow redirects 
    CURLOPT_ENCODING  => "",  // handle all encodings 
    CURLOPT_USERAGENT  => "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36", 
    CURLOPT_AUTOREFERER => true,  // set referer on redirect 
    CURLOPT_CONNECTTIMEOUT => 120,  // timeout on connect 
    CURLOPT_TIMEOUT  => 120,  // timeout on response 
    CURLOPT_MAXREDIRS  => 10,  // stop after 10 redirects 
    CURLOPT_SSL_VERIFYPEER => true,  // enabled SSL Cert checks 
    CURLOPT_SSL_VERIFYHOST => 2, 
    CURLOPT_CAINFO   => $caDir, 
    CURLOPT_COOKIEFILE  => $cookieDir, 
    CURLOPT_COOKIEJAR  => $cookieDir, 
    CURLOPT_URL   => $url, 
    CURLOPT_HTTPGET  => true  //method is GET 
); 

$handle = curl_init(); 

curl_setopt_array($handle,$arrOpt); 

$content = curl_exec($handle); 
$err  = curl_errno($handle); 
$errmsg = curl_error($handle); 
$header = curl_getinfo($handle); 

curl_close($handle); 

printf("Content is %s", $content); 

?> 

вы можете обратиться к этой статье php-curl-https (в (^__^)) ИЛИ это using-curl-in-php-to-access-https-ssltls-protected-sites

+0

В своем коде я получаю ошибки. Можете ли вы, пожалуйста, помочь мне добавить свой код в шахту? –

+0

Я нашел api для сайта, который я могу использовать. В настоящее время он возвращает значение как [1481367,7546218]. Я хочу вставить это значение в базу данных. Так что это 2 значения, как я могу обновить его в том же столбце столбца 1481367 - это другое и 7546218. Также я не хочу вставлять значение, если я уже вставил его перед –

+0

Я не знаю погоды, которую я неправильно понял: вы хотите для хранения [1481367,7546218] в два ряда. Если это правильно, вы можете установить столбец как индексный или первичный ключ, а затем использовать sql следующим образом: 'INSERT INTO table (a, b, c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c = c + 1 ; 'в sql, столбец a является первичным ключом, если строка a = 1 не существует, мы вставим ее, иначе мы обновим c = c + 1 – Ethan

Смежные вопросы