нужно курлом через пост запрос отправить текст такого содержания
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()
Сорри, был не прав.. может быть и строка но ее нужно обработать 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 ?
Ты хочешь авторизоваться на 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) | ||
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) | ||
На каком форуме ? |
Спустя 20 минут, 4 секунды (23.09.2011 - 16:20) Winston написал(а):
Там у них кодировка windows-1251
Если у тебя utf-8, то попробуй переконвертировать
Если у тебя 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 строку ?
Попробуй так переписать строку
Все ли переменные которые ты передаешь, существуют ?
И вверху скрипта напиши error_reporting(E_ALL);
Попробуй так переписать строку
Свернутый текст
$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) | ||
Это не правильно С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() ооо,ето вроде как оно