Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Отправка формы сокетами

Сообщения:  [1-4] 

 
 автор: Киналь   (25.07.2007 в 23:14)   письмо автору
 
   для: Unkind   (25.07.2007 в 23:09)
 

>Киналь, в форме много hidden'ов. Я не вижу их в строке $data.

Они в $_POST['alula']. Это и есть строка ключ1=значение1&ключ2... При проверке она выводится правильно, все параметры там есть.

   
 
 автор: Unkind   (25.07.2007 в 23:09)   письмо автору
 
   для: mesos   (25.07.2007 в 23:05)
 

Поменять:
Не надо менять. Он не отправляет файл. Отправка данных как multipart/form-data влечет за собой намного больше изменений, чем просто другой Content-type.

Киналь, в форме много hidden'ов. Я не вижу их в строке $data.

   
 
 автор: mesos   (25.07.2007 в 23:05)   письмо автору
 
   для: Киналь   (25.07.2007 в 22:53)
 

Поменять:

Content-Type: application/x-www-form-urlencoded
на
Content-Type: multipart/form-data

На всякий случай попробуйте добавить Referer правильный - вдруг проверяется?

   
 
 автор: Киналь   (25.07.2007 в 22:53)   письмо автору
 
 

Предыстория=) Rapidshare и Ifolder - файлохранилища, причем второе позволяет перекачивать к себе файлы напрямую из первого. Вот этот-то процесс и пытаюсь автоматизировать.

Есть форма вот такого вида:

<form action=/file_exchange/second/ method=post target='_parent'>
        <input type=hidden name=capcthatag value='accesscode'>
        <input type=hidden name=serv_url value='http://rs61l32.rapidshare.com/files/14358471/2760000/to_all_db8.5.rar'>
        <input type=hidden name=original_link value='http://rapidshare.com/files/14358471/to_all_db8.5.rar'>
        <input type=hidden name=referer value=''>
        <input type=hidden name=actionstring value='Download via Level(3) #2'>
        <input type=hidden name=serv_addr value=''>
        <input type=hidden name=session value='8f4a0670b18aef4801866d9dc18b24ff'>
        <img src='http://rs61.rapidshare.com/access2760000.jpg'><br>
        <input type=text name=accesscode size=7 maxlength=7><br>
        <input id="downloadSubmit" type="submit" name="actionstring" value="Download file">
        </form>

Выбираю из нее все hidden'ы, объединяю в строку ключ1=значение1&ключ2=... Выделяю то, что стоит в action, в переменную $path. Теперь пишу свою форму, с одним полем для текста, куда вручную ввожу текст с картинки. Введенный текст, сформированную строку и $path передаю POST'ом другому скрипту. В нем:

<?php
$data 
$_POST['alula']."&actionstring=Download%20file&accesscode=".$_POST['num'];
// добавляю имя и value кнопки Submit и введенный вручную текст
$server $_POST['host'];
$host $server;
$path $_POST['path'];
$sid $_POST['sid'];
$user_info=$_POST['user_info'];

//Проверка
echo $data."<p>".$server."<br>".$path."<p>".$sid."<br>".$user_info."<p>";

$ifl fsockopen("$server"80$errno$errstr30);

if (!
$ifl) die($errstr);

$headers "";
$headers .= "POST $path HTTP/1.0\r\n";
$headers .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*\r\n";
$headers .= "Content-Type: application/x-www-form-urlencoded\r\n";
$headers .= "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; DigExt)\r\n";
$headers .= "Host: $host\r\n";
$headers .= "Content-Length: ".strlen($data)."\r\n";
$headers .= "Cookie: sid=$sid; user_info=$user_info\r\n";
$headers .= "\r\n";


fwrite($ifl$headers.$data);

$content_5 "";
while (!
feof($ifl))
    
$content_5 .= fgets($ifl1024);

fclose($ifl);
?>


Но в результате всех этих хитрых манипуляций ничего не получается - приходит сообщение об ошибке добавления закачки (то есть даныые от меня ушли, но какие-то не те). Когда случайно поставил $data="", сообщение было точно таким же (хотя это, возможно, недостаток системы ошибок ifolder'а).

В чем может быть ошибка? Чем мой скрипт отличается от браузера?

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования