#1 2010.10.09 19:45

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Ошибка. Curl

Вот что мне пишет CURL

Warning: curl_setopt(): You must pass either an object or an array with the CURLOPT_HTTPHEADER, CURLOPT_QUOTE, CURLOPT_HTTP200ALIASES and CURLOPT_POSTQUOTE arguments ...

Мне нужно послать на сайт cookies методом POST c с передачей нескольких http заголовков.

Неактивен

#2 2010.10.09 19:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Ошибка. Curl

код может таки стоит написать?

Неактивен

#3 2010.10.09 20:00

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Ошибка. Curl

Код:

1
2
3
4
5
6
7
8
9
10
$header2 = 'Cookie: remixsid='.$remixsid.';remixmid='.ID.'; remixemail='.urlencode(EMAIL).'; remixpass='.md5(PASS);
 
$curl2 = curl_init();
curl_setopt($curl2, CURLOPT_URL, $url);
curl_setopt($curl2, CURLOPT_HTTPHEADER, $header2);
//curl_setopt($curl2, CURLOPT_HEADER, true);
curl_setopt($curl2, CURLOPT_POST, true);
curl_setopt($curl2, CURLOPT_TIMEOUT, 12);
$data = curl_exec($curl2);
curl_close($curl2);

Я плохо знаю curl этот код может быть неверным.

Неактивен

#4 2010.10.09 20:38

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Ошибка. Curl

$header2 должен быть массивом.

Неактивен

#5 2010.10.09 21:35

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Ошибка. Curl

А можно просто иправленный код  )) плз
Добавлено спустя   4 минуты  19 секунд:
по мне Curl как первоклашке php big_smile

Неактивен

#6 2010.10.09 23:41

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Ошибка. Curl

Curl я разобрался

Теперь ещё один вопрос как сделать пороще данные коды

Код:

1
2
3
4
5
6
7
8
9
10
for($i = $start; $i<$l; ++$i){
$a[$i][1] = substr($a[$i][1],0,stripos($a[$i][1],")"));
$a[$i][1] = substr($a[$i][1],stripos($a[$i][1],",")+1);
$a1 = substr($a[$i][1],0,stripos($a[$i][1],","));
$a[$i][1] = substr($a[$i][1],stripos($a[$i][1],",")+1);
$a2 = substr($a[$i][1],0,stripos($a[$i][1],","));
$a[$i][1] = substr($a[$i][1],stripos($a[$i][1],",")+1);
$a3 = substr($a[$i][1],0,stripos($a[$i][1],","));
$a3 = substr($a3, 1 , strlen($a3)-2);
}

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
while(stripos($data,"operate(") !== false){
$i++;
$a[$i][1] = substr($data, stripos($data,"operate(") + 8, 100);
$data = substr($data, stripos($data,"operate(") + 50);
$a[$i][2] = substr($data, stripos($data,'<b id="performer'));
$a[$i][2] = substr($a[$i][2], stripos($a[$i][2],">")+1);
$a[$i][3] = substr($a[$i][2], stripos($a[$i][2],"<"));
$a[$i][2] = substr($a[$i][2], 0, stripos($a[$i][2],"<"));
$a[$i][3] = substr($a[$i][3], stripos($a[$i][3],'<span id="title'));
$a[$i][3] = substr($a[$i][3], stripos($a[$i][3],">")+1);
if($a[$i][3][0] == '<')$a[$i][3] = substr($a[$i][3], stripos($a[$i][3],">")+1);
$a[$i][4] = substr($a[$i][3], stripos($a[$i][3],"<"));
$a[$i][3] = substr($a[$i][3], 0, stripos($a[$i][3],"<"));
$a[$i][4] = substr($a[$i][4], stripos($a[$i][4],'<div class="duration">')+22);
$a[$i][4] = substr($a[$i][4], 0, stripos($a[$i][4],"<"));
}

А то чёто больно сильно намутано.

Отредактировано WapStyle (2010.10.09 23:42)

Неактивен

#7 2010.10.10 10:30

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Ошибка. Curl

смысл кода сходу не улавливаю. а так в принципе, оформи грамотно и сойдет.

Неактивен

#8 2010.10.10 11:00

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Ошибка. Curl

Вот вприципе что получилось

http://test.openserv.ru/?search=rammstein

Поисковик полность на Curl

Вот из-за кода который выше время выполнения скрипта 1.2968

Неактивен

#9 2010.10.10 11:34

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Ошибка. Curl

Кстати верно ли?

Получение куков

Код:

1
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');

Отправка куков

Код:

1
curl_setopt ($ch, CURLOPT_COOKIEFILE, 'cookie.txt');

Неактивен

#10 2010.10.10 12:55

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Ошибка. Curl

WapStyle, технически верно, но в принципе, делать нужно не так. Кука передается в заголовках, как юзерагент, скажем, ты же не хранишь юзерагент в файле, верно? Так и передавай кукисы напрямую в заголовках. Т.е. в массив $headers2 добавь элемент типа $headers2[] = 'Cookie: var=value'; и все.

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.013 s