Ogłoszenie

Zwiń
No announcement yet.

Bot źle odpisuje

Zwiń
X
 
  • Filtr
  • Czas
  • Pokaż
Wyczyść wszystko
new posts

    Bot źle odpisuje

    Witam!

    pull.php
    Kod php:
    <?
    require_once('MessageBuilder.php');
    $M=new MessageBuilder();
    $M->addText('test');
    $M->reply();
    $M->clear();
    ?>
    gg:
    Kod:
    Ja: test
    Bot: W
    Ja: 1234
    Bot: W
    Ja: W
    Bot: W
    Tak wygląda źródło pull.php gdy wchodzę z przeglądarki
    Kod html:
    W����������	���<span style="color:#000000; font-family:'MS Shell Dlg 2'; font-size:9pt; ">test</span>test�������
    <!-- Hosting24 Analytics Code -->
    <script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
    <!-- End Of Analytics Code -->
    Może to być wina doklejonego kodu przez serwer?

    #2
    Zamieszczone przez blauherr Zobacz posta
    Może to być wina doklejonego kodu przez serwer?
    Sam rozwiązałeś problem

    Wysyłane z mojego Blade za pomocą Tapatalk 2
    http://komunikatory.im/favicon.ico Komunikatory.IM

    Komentarz


      #3
      Udało mi się wyłączyć ten kod, ale to nic nie dało

      Kod html:
      W����������	���<span style="color:#000000; font-family:'MS Shell Dlg 2'; font-size:9pt; ">test</span>test�������

      Komentarz


        #4
        Z tego co widzimy, udało się już Panu rozwiązać problem. Jeśli jest inaczej, prosimy o kontakt na adres boty@gadu-gadu.pl

        Komentarz


          #5
          Te znaczki niekoniecznie są błędem. W końcu tekst na wyjściu ma się wyświetlić w kliencie GG, a nie w przeglądarce www, więc testuj to bezpośrednio w kliencie Gadu-Gadu

          Komentarz


            #6
            Zamieszczone przez Bot Team Zobacz posta
            Z tego co widzimy, udało się już Panu rozwiązać problem. Jeśli jest inaczej, prosimy o kontakt na adres boty@gadu-gadu.pl
            No właśnie, że nie. Udało mi się tylko usunąć kod, który doklejał serwer.

            Zamieszczone przez Qrix Zobacz posta
            Te znaczki niekoniecznie są błędem. W końcu tekst na wyjściu ma się wyświetlić w kliencie GG, a nie w przeglądarce www, więc testuj to bezpośrednio w kliencie Gadu-Gadu
            Oczywiście. Chciałem sprawdzić skąd te odpowiedzi się biorą i zajrzałem do źródła.


            Gdy zmienię addText('qwerty') bot odpisuje "Y", a gdy addText('123') to "V" itp.

            Komentarz


              #7
              Te "znaczki" wynikają ze struktury binarnego protokołu BotAPI. Jest on dokładniej opisany tutaj: https://boty.gg.pl/dokumentacja/#2.3
              Oto fragment:

              Dane w protokole BotAPI przesyłane są binarnie: na początku zawsze musi wystąpić struktura, która określi, jakie będą długości poszczególnych danych:

              4 bajty (unsigned int) na długość wiadomości zawierającej HTML (dla GG 8.x i nowszych; należy doliczyć końcowy znak \0),
              4 bajty (unsigned int) na długość wiadomości zawierającej wiadomość tekstową (dla starszych klientów; należy doliczyć końcowy znak \0),
              4 bajty (unsigned int) na długość danych z zawartością struktury z obrazkiem (może być równe 0, obrazek jest przesyłany opcjonalnie),
              4 bajty (unsigned int) na długość formatowania dla wiadomości tekstowej (może być równe 0, formatowanie tekstu jest opcjonalne).
              W przypadku, gdy suma tych długości jest różna od długości reszty danych, wiadomość jest traktowana jak zwykła wiadomość tekstowa, a nie protokołowa wiadomość binarna. Wtedy kończy się to z reguły wyświetleniem właśnie jednego znaku z tabeli ASCII.

              Wynika to z tego, że pierwsze 4 bajty, oznaczające długość wiadomości HTML będą w Pana przypadku wyglądać tak: 86 00 00 00 (addText('123')) lub 89 00 00 00 (addText('qwerty')).
              Tak jak pisałem, z powodu nieprawidłowej długości całego pakietu danych wiadomość została potraktowana jako zwykła wiadomość tekstowa - stąd zwracany przez bota tekst "V" (wartość 86 w ASCII) oraz "Y" (wartość 89 w ASCII).

              W razie dalszych problemów prosimy o kontakt na boty@gadu-gadu.pl - postaramy się je wspólnie rozwiązać.

              Komentarz


                #8
                Dobrze, więc jak to naprawić?

                Komentarz


                  #9
                  Proszę zgodnie z sugestią skontaktować się z działem botów pod adresem boty@gadu-gadu.pl .

                  Komentarz


                    #10
                    Użytkownik blauherr skontaktował się z nami i udało się namierzyć problem: hosting, na którym działa skrypt pull.php przy odpytywaniu przez naszą platformę BotAPI GG nadal dokleja kod Hosting24 Analytics Code co niestety psuje wiadomość protokołową.

                    Poniżej wklejamy zapytanie na przykładowy adres PULL wraz ze wszystkimi nagłówkami jakie wykonuje nasza platforma:

                    Kod:
                    curl -v -A "" "http://boty.gg.pl/bot/pull.php?from=1234567&to=321" -H "Content-type: text/plain; charset=UTF-8" -H "User-agent: Botmaster 2.0" -H "Content-Length: 9" -H "Connection: close" -H "Host: boty.gg.pl" -d "wiadomosc"
                    Ostatnio edytowany przez Bot Team; [ARG:4 UNDEFINED].

                    Komentarz


                      #11
                      Problem rozwiązany. Support 000webhost odpisał:
                      Analytics code can be easily disabled at http://members.000webhost.com/analytics.php

                      If you see message that code was disabled but it still appears on your site, it might be your site uses GZIP compression. Please try turning it off and disabling code again.

                      For the last resort, you may do these steps:
                      1) Create a text file called .htaccess.
                      2) The only contents of this file should be a single line, saying:
                      php_value auto_append_file none
                      3) Upload this file into the home directory of your account.
                      4) This stops the server automatically adding extra lines to the code.
                      5) This does not actually disable analytics, it just stops the server adding the code lines at the end of every page calling the analytics host
                      Tłumacząc na polski w pliku .htaccess należy dodać:
                      Kod:
                      php_value auto_append_file none
                      SetEnv no-gzip dont-vary

                      Komentarz

                      Pracuję...
                      X