[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: текст для пост запроса CURL
qaz333
вОБЩЕМ ВОЗНИКЛА ТАКАЯ ПРОБЛЕМА

нужно курлом через пост запрос отправить текст такого содержания

http://www.google.com.ua/search?client=ope...channel=suggest

но проблема в том што курл обрывает текст на етом знаке
&


как быть?



Спустя 54 минуты, 35 секунд (23.09.2011 - 11:10) Winston написал(а):
Тогда все амперсанды попробуй заменить на их html эквиваленты &

Спустя 2 часа, 54 минуты, 11 секунд (23.09.2011 - 14:05) qaz333 написал(а):
Цитата (Winston @ 23.09.2011 - 08:10)
Тогда все амперсанды попробуй заменить на их html эквиваленты &

ну так тот же знак получается
&
&

Спустя 1 минута, 22 секунды (23.09.2011 - 14:06) Winston написал(а):
Покажи свой код

Спустя 38 минут, 57 секунд (23.09.2011 - 14:45) qaz333 написал(а):
Цитата (Winston @ 23.09.2011 - 11:06)
Покажи свой код




$mypost = "st=0&act=Post&f=47&auth_key=$auth_key[0]&removeattachid=0&MAX_FILE_SIZE=102400000&CODE=01&CODE=03&t=$ex_link&attach_post_key=$post_key[0]&Post=$v_post&parent_id=0";



$cur=curl_init();
curl_setopt($cur, CURLOPT_URL,'http://forum.ru/index.php?' );
curl_setopt($cur,CURLOPT_USERAGENT,"Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.10");
curl_setopt($cur,CURLOPT_COOKIEJAR,'cookie.txt');
curl_setopt($cur,CURLOPT_COOKIEFILE,'cookie.txt');
curl_setopt($cur,CURLOPT_RETURNTRANSFER,1);
curl_setopt($cur, CURLOPT_POST, 1);
curl_setopt($cur, CURLOPT_POSTFIELDS, $mypost);
curl_exec($cur);
curl_close($cur);


Спустя 7 минут, 34 секунды (23.09.2011 - 14:53) Sanchopansa написал(а):
Данные должны передаваться не строкой а массивом
<?php

/* http://localhost/upload.php:
print_r($_POST);
print_r($_FILES);
*/


$ch = curl_init();

$data = array('name' => 'Foo', 'file' => '@/home/user/test.png');

curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);
?>


Спустя 24 минуты, 6 секунд (23.09.2011 - 15:17) qaz333 написал(а):
Цитата (Sanchopansa @ 23.09.2011 - 11:53)
Данные должны передаваться не строкой а массивом

а почему?

Спустя 6 минут, 43 секунды (23.09.2011 - 15:23) Sanchopansa написал(а):
http://php.net/manual/ru/function.curl-setopt.php

Сорри, был не прав.. может быть и строка но ее нужно обработать urlencode()

Спустя 3 минуты, 35 секунд (23.09.2011 - 15:27) Winston написал(а):
Цитата (Sanchopansa @ 23.09.2011 - 15:23)
может быть и строка но ее нужно обработать urlencode()

Нет, нужно rawurlencode, но т.к. здесь нету кириллицы в post данных, потому здесь кодировать не надо

Спустя 1 минута, 1 секунда (23.09.2011 - 15:28) Winston написал(а):
qaz333
Ты хочешь авторизоваться на forum.ru ?

Спустя 6 минут, 22 секунды (23.09.2011 - 15:34) qaz333 написал(а):
Цитата (Sanchopansa @ 23.09.2011 - 12:23)
http://php.net/manual/ru/function.curl-setopt.php

Сорри, был не прав.. может быть и строка но ее нужно обработать urlencode()

хм.. ну абработал,

получилась вот такая фигня

www.google.com.ua%2Fsearch%3Fclient%3Dopera%26rls%3Dru%26q%3Dhttp%3A%2F%2Fbot.hhos.ru%2F%2 6sourceid%3Dopera%26ie%3Dutf-8%26oe%3Dutf-8%26channel%3Dsuggest


по ней даже браузер не переходит, пишит неверный урл, может я штото сделал нетак?

Спустя 1 минута, 30 секунд (23.09.2011 - 15:36) qaz333 написал(а):
Цитата (Winston @ 23.09.2011 - 12:28)
qaz333
Ты хочешь авторизоваться на forum.ru ?

нет, я не хочу авторизоватся, я хочу оставить пост на другом форуме, но из-за того знака режется сообщение

Спустя 2 минуты, 25 секунд (23.09.2011 - 15:38) Winston написал(а):
Цитата (qaz333 @ 23.09.2011 - 15:36)
но из-за того знака режется сообщение

C чего ты взял, что режется ?
Напиши echo $mypost; и посмотри, что выведет

Спустя 2 минуты, 24 секунды (23.09.2011 - 15:41) qaz333 написал(а):
Цитата (Winston @ 23.09.2011 - 12:38)
Цитата (qaz333 @ 23.09.2011 - 15:36)
но из-за того знака режется сообщение

C чего ты взял, что режется ?
Напиши echo $mypost; и посмотри, что выведет

$mypost то нормально выдаёт, а сам курл отправляет всё што идёт до знака &

Спустя 6 минут, 34 секунды (23.09.2011 - 15:47) Winston написал(а):
Цитата (qaz333 @ 23.09.2011 - 15:36)
я хочу оставить пост на другом форуме

На каком форуме ?

Спустя 12 минут, 37 секунд (23.09.2011 - 16:00) qaz333 написал(а):
Цитата (Winston @ 23.09.2011 - 12:47)
Цитата (qaz333 @ 23.09.2011 - 15:36)
я хочу оставить пост на другом форуме

На каком форуме ?

на етом ну форум тут не причём, всегда так было што из-за етого знака обрезался текст

Спустя 20 минут, 4 секунды (23.09.2011 - 16:20) Winston написал(а):
Там у них кодировка windows-1251
Если у тебя utf-8, то попробуй переконвертировать
Цитата (qaz333 @ 23.09.2011 - 14:45)
$mypost = "st=0&act=Post&f=47&auth_key=$auth_key[0]&removeattachid=0&MAX_FILE_SIZE=102400000&CODE=01&CODE=03&t=$ex_link&attach_post_key=$post_key[0]&Post=$v_post&parent_id=0";

$mypost = "st=0&act=Post&f=47&auth_key=$auth_key[0]&removeattachid=0&MAX_FILE_SIZE=102400000&CODE=01&CODE=03&t=$ex_link&attach_post_key=$post_key[0]&Post=$v_post&parent_id=0";
$mypost = iconv('UTF-8', 'WINDOWS-1251', $mypost);

Спустя 12 минут, 41 секунда (23.09.2011 - 16:33) qaz333 написал(а):
у меня тоже windows-1251, а чем в урле можно заменить знак & штобы урл также работал?

Спустя 6 минут, 5 секунд (23.09.2011 - 16:39) Winston написал(а):
Но ты все таки не ответил на вопрос, с чего ты взял, что curl обрезает post строку ?
Попробуй так переписать строку
Свернутый текст
$mypost = "st=0&act=Post&f=47&auth_key=" . $auth_key[0] . "&removeattachid=0&MAX_FILE_SIZE=102400000&CODE=01&CODE=03&t=" . $ex_link . "&attach_post_key=" . $post_key[0] . "&Post=" . $v_post . "&parent_id=0";

Все ли переменные которые ты передаешь, существуют ?
И вверху скрипта напиши error_reporting(E_ALL);

Спустя 1 минута, 49 секунд (23.09.2011 - 16:40) qaz333 написал(а):
Цитата (Winston @ 23.09.2011 - 13:39)
Но ты все таки не ответил на вопрос, с чего ты взял, что curl обрезает post строку ?
Попробуй так переписать строку
Свернутый текст
$mypost = "st=0&act=Post&f=47&auth_key=" . $auth_key[0] . "&removeattachid=0&MAX_FILE_SIZE=102400000&CODE=01&CODE=03&t=" . $ex_link . "&attach_post_key=" . $post_key[0] . "&Post=" . $v_post . "&parent_id=0";

Все ли переменные которые ты передаешь, существуют ?
И вверху скрипта напиши error_reporting(E_ALL);

Дпже если просто сделать так


$mypost = "http://www.google.com.ua/search?client=opera&rls=ru&q=http://bot.hh os.ru/&sourceid=opera&ie=utf-8&oe=utf-8&channel=suggest";



$cur=curl_init();
curl_setopt($cur, CURLOPT_URL,'http://site.ru/' );
curl_setopt($cur,CURLOPT_USERAGENT,"Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.10");
curl_setopt($cur,CURLOPT_COOKIEJAR,'cookie.txt');
curl_setopt($cur,CURLOPT_COOKIEFILE,'cookie.txt');
curl_setopt($cur,CURLOPT_RETURNTRANSFER,1);
curl_setopt($cur, CURLOPT_POST, 1);
curl_setopt($cur, CURLOPT_POSTFIELDS, "my=$mypost");
curl_exec($cur);
curl_close($cur);


то на знаке & текст обрежется

Спустя 6 минут, 50 секунд (23.09.2011 - 16:47) Winston написал(а):
Цитата (qaz333 @ 23.09.2011 - 16:40)
curl_setopt($cur, CURLOPT_POSTFIELDS, "my=$mypost");

Это не правильно
СURLOPT_POSTFIELDS принимается в таком виде
curl_setopt($cur, CURLOPT_POSTFIELDS, "key1=value1&key2=value2");

Спустя 1 минута, 4 секунды (23.09.2011 - 16:48) Winston написал(а):
Ты читал эту темку? Там про авторизацию, но потому же принципу можно и сообщения постить.

Спустя 20 секунд (23.09.2011 - 16:49) Игорь_Vasinsky написал(а):
echo $mypost;

+ rawurlencode() и htmlspecialchars()

а конкатенация - это наврятли...

а массивом пробывал передать?

curl_getinfo()


Спустя 3 минуты, 50 секунд (23.09.2011 - 16:53) qaz333 написал(а):
Цитата (Winston @ 23.09.2011 - 13:47)
Цитата (qaz333 @ 23.09.2011 - 16:40)
curl_setopt($cur, CURLOPT_POSTFIELDS, "my=$mypost");

Это не правильно
СURLOPT_POSTFIELDS принимается в таком виде
curl_setopt($cur, CURLOPT_POSTFIELDS, "key1=value1&key2=value2");

в етом нет никакой разницы

Спустя 4 минуты, 40 секунд (23.09.2011 - 16:57) qaz333 написал(а):
Цитата (Игорь_Vasinsky @ 23.09.2011 - 13:49)
echo $mypost;

+ rawurlencode() и htmlspecialchars()

а конкатенация - это наврятли...

а массивом пробывал передать?

curl_getinfo()

rawurlencode() ооо,ето вроде как оно
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.