#php #curl #libcurl
#php #curl #libcurl
Вопрос:
ну, проблема в том, что простое это сегодня не работает!
<?php
function cload($url, $got = array()){
//include(MDL.'socket_adapter.php');
$user_agent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0";
$default_options = array(
'data' => 'og',
'post_data' => false,
'referer' => false,
'cookie' => false,
'auth' => false,
'proxy' => false,
'pauth' => false,
'returndata' => true,
);
foreach($default_options as $opt=>$value) {
if(!empty($default_options[$opt])) {$got[$opt] = $value; }
//if(!empty($got[$opt])) {$got[$opt] = $value; }
}
//echo "<hr>"; print_r($got); echo "<hr>";
$curl = curl_init();
//if(strstr($referer,"://")){
//curl_setopt ($curl, CURLOPT_REFERER, $got['referer']);}
curl_setopt ($curl, CURLOPT_URL, $url);
curl_setopt ($curl, CURLOPT_USERAGENT, $user_agent);
curl_setopt ($curl, CURLOPT_HEADER, 1);
if(isset($got['returndata'])){
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
}else{
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, false);
}
curl_setopt ($curl, CURLOPT_ENCODING, 'gzip, deflate');
curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, false);
if(isset($got['post_data'])){ curl_setopt($curl ,CURLOPT_POST , true);
curl_setpot($curl ,CURLOPT_POSTFIELDS ,$got['post_data']); }
if(isset($got['referer'])) curl_setopt($curl,CURLOPT_REFERER, $got['referer']);
if(isset($got['cookie'])){ if($got['cookie'] == "0"){
curl_setopt($curl ,CURLOPT_COOKIEJAR, TBP."cookie.txt"); }//If ever needed...
else{
curl_setopt($curl ,CURLOPT_COOKIE, $got['cookie']); }}
$custom_headers = array();
$custom_headers[] = "Accept: text/html,application/xhtml xml,application/xml;q=0.9,*/*;q=0.8";
$custom_headers[] = "Pragma: no-cache";
$custom_headers[] = "Cache-Control: no-cache";
$custom_headers[] = "Accept-Language: en-us;q=0.7,en;q=0.3";
$custom_headers[] = "Accept-Charset: utf-8,windows-1251;q=0.7,*;q=0.7";
if(isset($url_parts['user']) and isset($url_parts['pass'])) {
$custom_headers[] = "Authorization: Basic ".base64_encode($url_parts['user'].':'.$url_parts['pass']);
}elseif(isset($got['auth'])){
$uj = explode(":",$got['auth']); $custom_headers[] = "Authorization: Basic ".base64_encode($uj[0].':'.$uj[1]); }
if(isset($got['pauth'])){
curl_setopt($curl ,CURLOPT_PROXYUSERPWD ,$pauth); }
if(isset($got['proxy'])){
curl_setopt($curl ,CURLOPT_PROXY ,$proxy); }
curl_setopt($curl ,CURLOPT_HTTPHEADER, $custom_headers);
//curl_setopt($curl, CURLINFO_HEADER_OUT, true);
$response = curl_exec($curl);
$info = curl_getinfo($curl);// , CURLINFO_HEADER_OUT);
curl_close ($curl);
//echo "<hr>"; echo $info; echo "<hr>";
return $response; }
?>
теперь, когда я использую этот код :
<?php
$cv = load('https://localhost/a/ac.php?a=io',array('cookie' => $fbcook,'referer' => $ref,'post_data' => 'odl=lopamp;isi=837amp;io'));
echo $cv;
?>
но я получаю сообщение об ошибке :
Фатальная ошибка: вызов неопределенной функции curl_setpot() в C:xampphtdocsamackcurl.php в строке 41
Пожалуйста, помогите мне! почему это происходит, эта строка 42 указывает на эту строку curl_setpot($curl ,CURLOPT_POSTFIELDS ,$got['post_data']); }
Спасибо
Ответ №1:
простая опечатка: curl_setpot должно быть curl_setopt
Комментарии:
1. Я думаю, что я действительно хочу, чтобы был метод с именем curl_setpot() .
2. вы немного новичок, не так ли?
Ответ №2:
Если функция cURL не определена, то, скорее всего, cURL недоступен.
Тем не менее, я думаю, что вы имели в виду curl_setopt()
.
Ответ №3:
curl_setpot
должно быть curl_setopt
.
Ответ №4:
Вы используете xampp, поэтому вам нужно активировать curl lib, выполнив следующие действия:
- Найдите каталог установки XAMPP
- Открыть
php/php.ini
(возможно C:xamppphpphp.ini или C:program filesapachefriendsxamppphpphp.ini) - Выполните поиск по слову ‘curl’ и раскомментируйте (удалите начальную точку с запятой) эту строку. Перед удалением:
;extension=php_curl.dll
. После удаления:extension=php_curl.dll
- Сохраните и закройте
- Открыть
apache/bin/php.ini
(возможно C:xamppapachephp.ini или C: program filesapachefriendsxamppapachephp.ini) - Найдите curl, раскомментируйте, как и раньше (шаг 3)
- Сохраните и закройте
- Не забудьте перезапустить Apache
Удачи