parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Проблема с переменной и curl

Wail 04.08.2012 13:48 / 04.08.2012 14:00

Взываю к помощи коллективного разума =) Уже сутки бьюсь.

Схема работы куска скрипта такая:
1) получаем содержимое страницы из интернета через curl.
2) выбираем оттуда строковыми функциями нужные параметры.
3) данные параметры вставляем в новый curl-запрос
4) выведем результаты запроса на веб-страницу.

Вставляю кусок этого кода:
$file1[^curl:load[ 
   $.url[http://test.com/al_photos.php]
   $.timeout(30) 
   $.post[1]
   $.postfields[act=choose_photo]
   $.followlocation[1]
]] 

$htm[$file1.text]
$htm[^htm.mid(^htm.pos[cur.html5LiteUrl = ']+20)]
$upload_url[^htm.left(^htm.pos['])]

$file2[^curl:load[ 
   $.url[$upload_url]
   $.timeout(30) 
   $.post(1)
   $.postfields[act=check_upload]
   $.followlocation(1)
]] 

$htm[$file2.text]
$htm 
В переменной $upload_url - ссылка, которую я пытаюсь вставить во второй запрос (http://cs305805.test.com/upload.php).

Кусочек кода из страницы которую парсим в первом запросе:
........
  cur.initHTML5Lite = function() {
    var max_files = cur.maxFiles - (cur.savedPhotos || []).length;
    cur.html5LiteUrl = 'http://cs305805.test.com/upload.php';
    cur.html5LiteVars = {"act":"do_add","aid":-
........
Суть проблемы:

1) В случае если составить второй CURL запрос, как написано в коде сверху (т.е. отпарсенную ссылку вставить в параметр $.url) - парсер вываливает ошибку: 'load' Couldn't resolve host name [curl.host] [uri=/add_image.html, method=GET, cl=0]

2) Если вставить во второй curl запрос эту же ссылку текстом - все сказочно правильно работает.

3) Если просто вывести отпарсенную ссылку в страницу - она идеально такая же как та текстовая, которую вставляю руками и после которой работает. Можно скопировать и вставить в $.url и заработает.

4) Если сохранить отпарсенную ссылку в файл - она идеально такая же как та текстовая, которую вставляю руками и после которой работает. Можно скопировать из файла и вставить в $.url и заработает. Если загрузить файл в переменную и ее воткнуть в $.url - такая же ошибка что в пункте 1. 'load' Couldn't resolve host name [curl.host] [uri=/add_image.html, method=GET, cl=0]


Вопрос - где покопать?

ps: Если вдруг важно - сайт с которого берем - отдает windows-1251, файл по умолчанию сохраняется в windows-1251.
Сам скрипт в utf8.