[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Cowboyl0l

    Cowboyl0l New Member

    Joined:
    19 Nov 2011
    Messages:
    31
    Likes Received:
    1
    Reputations:
    0
    как выйти с аккаунта в однокласниках... подскажите как, снифер не ловит не чего похожего... =(
     
  2. Skofield

    Skofield Elder - Старейшина

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    392
    Reputations:
    58
    I-Never-Die, смотря какая задача стоит. Может в данном случае нужен цикл?
     
  3. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    pfsockopen()
     
  4. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    I-Never-Die Согласно какого протокола вы используете сокеты?

    krypt3r
    Это не решение
     
    _________________________
  5. I-Never-Die

    I-Never-Die New Member

    Joined:
    3 Aug 2012
    Messages:
    22
    Likes Received:
    2
    Reputations:
    0
    http

    Кажется, я начинаю понимать... http сервер сам закрывает соединение после отправки ответа, да?
     
  6. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    I-Never-Die Смотря какие заголовки шлете вы и какие заголовки возвращает сервер. Почти все веб-серверы поддерживают Keep-alive соединение, но это не значит, что оно включено.

    Для поддержки keep-alive нужно отправлять заголовок "Connection: keep-alive", в ответ должен также придти такой заголовок. Если это не выполняется или пришел заголовок "Connection: close" соединение должно быть закрыто стороной получившей такой заголовок

    Более подробно в RFC - http://tools.ietf.org/html/rfc2616#section-8.2.4
     
    _________________________
  7. daniel777

    daniel777 Elder - Старейшина

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    1)Какая максимальная длина куки в символах, которую можно установить функцией setcookie()?

    2)В файле записана дата создания этого же файла в формате timestamp.
    Я получаю содержимое этого файла, и надо его сравнить с текущей датой таким образом:
    - если файл создан за прошлые сутки или раньше то записать в него текущую дату и вывести "ок"
    - если файл создан в текущие сутки то просто вывести "не ок".
    Как это осуществить?
     
    #20907 daniel777, 8 Aug 2012
    Last edited: 8 Aug 2012
  8. ocheretko

    ocheretko Banned

    Joined:
    15 May 2010
    Messages:
    144
    Likes Received:
    51
    Reputations:
    116
    1) Куки по стандарту 4кб. На практике нужно проверять у каждого браузера отдельно (если требуется больше, чем 4кб)

    2)
    PHP:
    <?php


    $filetimestamp 
    file_get_contents('myfile.txt');

    if (
    $filetimestamp == null) {                         /// Если файл пустой -
       
    file_put_contents("myfile.txt",time()); }   /// записать время

    $mytimestamp time();           // получаем текущее время


    $MY_date_time_array getdate($mytimestamp);
    $FILE_date_time_array getdate($filetimestamp);

    $myday $MY_date_time_array['mday'];    // Ваш день
    $fileday $FILE_date_time_array['mday']; // День из файла

    if ($myday $fileday) {
     echo 
    "ок";
     
    file_put_contents("myfile.txt",time());
    } else {
     echo 
    "не ок"; }


    ?>
     
    #20908 ocheretko, 8 Aug 2012
    Last edited: 8 Aug 2012
    1 person likes this.
  9. Z0diac

    Z0diac New Member

    Joined:
    8 Aug 2012
    Messages:
    19
    Likes Received:
    2
    Reputations:
    0
    Здравствуйте, пишу заливщик тизеров для одной из тизерных сетей. Накануне отснифал запрос на добавление картинки и на добавление всей общей инфы для тизера (текст, ссылка...). Моя задача - все это теперь реализовать на PHP с помощью curl.

    Code:
    Content-Type: multipart/form-data; boundary=---------------------------265001916915724
    Content-Length: 19786
    -----------------------------265001916915724
    Content-Disposition: form-data; name="MAX_FILE_SIZE"
    
    500000
    -----------------------------265001916915724
    Content-Disposition: form-data; name="is_banner"
    
    0
    -----------------------------265001916915724
    Content-Disposition: form-data; name="imgfile"; filename="1.jpg"
    Content-Type: image/jpeg
    
    [B]ÿØÿà[/B]
    
    Это запрос на добавление картинки, что это за строка ÿØÿà ?

    Code:
    -----------------------------114782935826962
    Content-Disposition: form-data; name="title"
    
    Нажмите мышкой на свой знак 97% предсказаний сбываются!
    
    Это часть запроса на добавление общей инфы о тизере, а именно заголовка тизера. Сам заголовок я писал русскими буквами, но передается как видно он в непонятной кодировке. Как узнать, что это за кодировка ?
     
  10. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Z0diac Проблема в софте (кодировке), которым вы просматриваете запрос.
    Это начало содержимого файла 1.jpg который вы заливали. То что не полностью отобразилось - беда софта.

    Так выглядит UTF-8 в кодировке ISO-8859-1
     
    _________________________
  11. daniel777

    daniel777 Elder - Старейшина

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    Есть ли функция как get_headers только для POST запроса?
     
  12. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    fsockopen + explode
     
    1 person likes this.
  13. 0o Chris o0

    0o Chris o0 New Member

    Joined:
    16 Oct 2011
    Messages:
    142
    Likes Received:
    1
    Reputations:
    0
    Хотел написать парсинг ссылок с гугла по запросам. Но возникла проблема, google выдает "The document has moved here ".
    Code:
    <?php
    $header = array(
        'Host: https://google.ru',
    	'Referer: https://google.ru',
    	'User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20060127 Netscape/8.1',
    	'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    	'Accept-Language: ru-RU,ru;q=0.750,en-US;q=0.500,en;q=0.250',
    	'Accept-Encoding: gzip, deflate',
    	'Cache-Control: max-age=0' );
    function http_response($url, $headers) {
        $ch = curl_init();
    	curl_setopt($ch, CURLOPT_URL, $url);
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    	curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
    	$ret = curl_exec($ch);
    	echo htmlspecialchars($ret);
    }
    http_response('https://google.com', $header);
    ?>
    
    В чем может быть проблема?
     
  14. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    Это называется редирект, посмотри на заголовки отправляемые браузером, найдешь много нового. Для твоей цели лучше использовать API
     
    _________________________
    #20914 VY_CMa, 11 Aug 2012
    Last edited: 11 Aug 2012
  15. 0o Chris o0

    0o Chris o0 New Member

    Joined:
    16 Oct 2011
    Messages:
    142
    Likes Received:
    1
    Reputations:
    0
    А обойти его никак нельзя?
     
  16. 0o Chris o0

    0o Chris o0 New Member

    Joined:
    16 Oct 2011
    Messages:
    142
    Likes Received:
    1
    Reputations:
    0
    Все решилось. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
     
    1 person likes this.
  17. 0o Chris o0

    0o Chris o0 New Member

    Joined:
    16 Oct 2011
    Messages:
    142
    Likes Received:
    1
    Reputations:
    0
    Code:
    <?php
    set_time_limit(0);  
    $query = 'antichat';
    function http_response($query) {
        $url = 'http://www.google.ru/search?hl=ru&num=100&start=0&lr=&q='.urlencode(trim($query));
    	$res = file_get_contents($url);
    	echo $res;
    }
    http_response($query);
    ?>
    
    Такой вариант работает, а если query='inurl:"fbconnect_action=myhome"', то выдает:
    Code:
    Warning: file_get_contents(http://www.google.ru/search?hl=ru&num=100&start=0&lr=&q=inurl%3A%22fbconnect_action%3Dmyhome%22) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 503 Service Unavailable in C:\xamp\xampp\htdocs\vulnerabitilies\wp.php on line 8 
     
  18. daniel777

    daniel777 Elder - Старейшина

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    0o Chris o0, используйте Curl. Там надо передавать заголовки, USERAGENT, REFERER, COOKIE.
     
  19. 0o Chris o0

    0o Chris o0 New Member

    Joined:
    16 Oct 2011
    Messages:
    142
    Likes Received:
    1
    Reputations:
    0
    То есть если я делаю запрос antichat, то заголовки не нужны, а если делаю запрос inurl, то заголовки нужны? Несколько странно, не находите?
     
  20. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    У меня при любом запросе, заголовки нужны, странно что у вас что-то работает.
     
    _________________________
Thread Status:
Not open for further replies.