Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | | |
Спасибо! 27.10.03 14:01 Число просмотров: 1447
Автор: Hux0r Статус: Незарегистрированный пользователь
|
> > curl_setopt($ch, CURLOPT_CAFILE,
> 'C:\pathto\ca-bundle.crt');
> ---
Спасибо, я понял. Только все-равно ошибка 60...
Я совсем запутался, php поставил с http://www.php.net/get/php-4.3.3-Win32.zip, там же есть ведь поддержка curl?. В php.ini раскомментировал все extentions, все работает, но curl через https не хочет ходить. Нашел в инете какой-то сертификат ".crt", подключил как Вы сказали, не получается... Что я не так сделал?
|
<programming>
|
как сдружить php и curl? 17.10.03 13:49
Автор: Hux0r Статус: Незарегистрированный пользователь
|
На перле я делал так (win32):
<prel>
$curlargs = "param1";
$curlargs .= "¶m2";
$curlargs .= "¶m3";
$curlargs .= "¶m4";
$sysstring = "curl -s -d";
$sysstring .= '"';
$sysstring .= $curlargs;
$sysstring .= '"';
$sysstring .= "https://securetyxxx.com" ;
open(foo,"$sysstring);
while(<foo>){
# если встретятся поля с хидденами
while( /hidden name=(.*?)>/gs ) {..обработка..}
}
---
А на php такое разве не проходит? ругается на "while( /hidden name=(.*?)>/gs )" что я сделал не так?
И еще вопрос. Я так понимаю, что у *nix хостера данный скрипт работать не будет? А как мне на php реализовать работу с curl?
|
|
как сдружить php и curl? 23.10.03 13:04
Автор: trent Статус: Незарегистрированный пользователь
|
http://ru2.php.net/manual/en/ref.curl.php
> На перле я делал так (win32): > <prel> > $curlargs = "param1"; > $curlargs .= "¶m2"; > $curlargs .= "¶m3"; > $curlargs .= "¶m4"; > $sysstring = "curl -s -d"; > $sysstring .= '"'; > $sysstring .= $curlargs; > $sysstring .= '"'; > $sysstring .= "https://securetyxxx.com" ; > open(foo,"$sysstring); > while(<foo>){ > # если встретятся поля с хидденами > while( /hidden name=(.*?)>/gs ) {..обработка..} > } > --- > А на php такое разве не проходит? ругается на "while( > /hidden name=(.*?)>/gs )" что я сделал не так? > И еще вопрос. Я так понимаю, что у *nix хостера данный > скрипт работать не будет? А как мне на php реализовать > работу с curl?
http://ru2.php.net/manual/en/ref.curl.php
|
| |
как сдружить php и curl? 27.10.03 09:52
Автор: Hux0r Статус: Незарегистрированный пользователь
|
> http://ru2.php.net/manual/en/ref.curl.php
Пробую таким образом:
$user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_PROXY, "localhost:8080");
curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt ($ch, CURLOPT_TIMEOUT, 120);
curl_setopt ($ch, CURLOPT_URL, 'https://www.xxxx.xx/xxx/login.php');
ob_start();
curl_exec ($ch);
ob_end_flush();
if (curl_error($ch))
printf("Error %s: %s", curl_errno($ch), curl_error($ch));
curl_close ($ch);
exit;
---
Выдает ошибку curl_error($ch) Error 60: SSL certificate problem, verify that the CA cert is OK
Есть у меня этот файл сертификатов curl-ca-bundle.crt Но куда его пихать? Пробовал и в winnt/system и winnt/system32 и в каталог с php, и пр. Может что посоветуете?
|
| | |
как сдружить php и curl? 27.10.03 12:59
Автор: trent Статус: Незарегистрированный пользователь
|
curl_setopt($ch, CURLOPT_CAFILE, 'C:\pathto\ca-bundle.crt');
---
внимательнее читаем 'User Contributed Notes'
|
| | | |
Спасибо! 27.10.03 14:01
Автор: Hux0r Статус: Незарегистрированный пользователь
|
> > curl_setopt($ch, CURLOPT_CAFILE,
> 'C:\pathto\ca-bundle.crt');
> ---
Спасибо, я понял. Только все-равно ошибка 60...
Я совсем запутался, php поставил с http://www.php.net/get/php-4.3.3-Win32.zip, там же есть ведь поддержка curl?. В php.ini раскомментировал все extentions, все работает, но curl через https не хочет ходить. Нашел в инете какой-то сертификат ".crt", подключил как Вы сказали, не получается... Что я не так сделал?
|
| | | | |
на счет поддержки curl - ты уверен? 27.10.03 23:22
Автор: Eugene Статус: Незарегистрированный пользователь
|
> http://www.php.net/get/php-4.3.3-Win32.zip, там же есть > ведь поддержка curl?. возможно, но это далеко на факт.
> В php.ini раскомментировал все > extentions, все работает, но curl через https не хочет > ходить. Нашел в инете какой-то сертификат ".crt", подключил > как Вы сказали, не получается... Что я не так сделал?
|
| | | | | |
Уверен 28.10.03 08:35
Автор: Hux0r Статус: Незарегистрированный пользователь
|
> > http://www.php.net/get/php-4.3.3-Win32.zip, там же > есть > > ведь поддержка curl?. > возможно, но это далеко на факт. > Но в /extentions есть php_curl.dll и php_openssl.dll и cURL ходит через http, но через https ходить отказывается. Err:60
|
| | | | | | |
Конечно, можно забить на это... 28.10.03 08:41
Автор: Hux0r Статус: Незарегистрированный пользователь
|
и сделать так:
$curlargs = "var1=1";
$curlargs .= "&var2=23";
$curlargs .= "&Pass=secret";
$sysstring = "curl -s -d";
$sysstring .= '"';
$sysstring .= $curlargs;
$sysstring .= '"';
$sysstring .= https://xxx/lohin.php;
$fd = popen($sysstring, "r");
while ($buffer = fgets($fd, 4096)) {
echo $buffer;
}
pclose($fd);
---
Это пре-екрасно работает у меня на win32.
Но я собираюсь покупать хостинг на *nix -ах.
ЭТО будет там работать? Если да то тема закрыта:)
|
|
как сдружить php и curl? 17.10.03 14:39
Автор: Eugene Статус: Незарегистрированный пользователь
|
> На перле я делал так (win32): > <prel> > $curlargs = "param1"; > $curlargs .= "¶m2"; > $curlargs .= "¶m3"; > $curlargs .= "¶m4"; > $sysstring = "curl -s -d"; > $sysstring .= '"'; > $sysstring .= $curlargs; > $sysstring .= '"'; > $sysstring .= "https://securetyxxx.com" ; > open(foo,"$sysstring); > while(<foo>){ > # если встретятся поля с хидденами > while( /hidden name=(.*?)>/gs ) {..обработка..} смотри в сторону функции preg_match
синтаксис перла и пхп не идентичен.
> } > --- > А на php такое разве не проходит? ругается на "while( > /hidden name=(.*?)>/gs )" что я сделал не так? > И еще вопрос. Я так понимаю, что у *nix хостера данный > скрипт работать не будет? А как мне на php реализовать > работу с curl? http://curl.sourceforge.net/
нужно пересобрать пхп для работы с curl. безусловно, сама библиотека так же должна быть установлена на сервере.
|
| |
Объясните пожалуйста эти моменты: 21.10.03 12:29
Автор: Hux0r Статус: Незарегистрированный пользователь
|
Помогите переписать кусочек кода на perl в php
$sysstring = "curl + url";
open(foo,"$sysstring); # в php нет такой функции...
while(<foo>){ # на скобки тоже ругается...
# Пока поступают данные, проверяем на наличие в них слова "hidden"
while( /hidden name=(.*?)>/gs ) {
if(index($1, "ERROR") == 0) {
$errstring = $1;
$errstring =~ ( /value="(.*)"/ );
print "Error on preview is: $1\n";
}
}
---
Я новичек в php, помогите если не трудно, а там я дальше по аналогии...
|
| | |
Объясните пожалуйста эти моменты: 21.10.03 13:20
Автор: Hux0r Статус: Незарегистрированный пользователь
|
По поводу цикла я попробовал так:
$fd = popen($sysstring, "r");
while ($buffer = fgets($fd, 4096)) {
echo $buffer; # Получаю первые 4 кг. страницы (мне больше и не надо)
}
---
Вроде работает. Но может быть как-то по-другому это реализуется?
А дальше, как пользоваться preg_match() для поиска?
Мне же нужно найти не только "hidden", а главное какая строка стоит после него - или это "ERROR" или "что-то".
|
|
|