1. VisualBasic / Говнокод #3594

    −95

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    For x=1 to Len(content)
      bs = Mid(content, x, 1)
      If bs = "0" Or bs = "1" Or bs = "2" Or bs = "3" Or bs = "4" Or bs = "5" Or bs = "6" Or bs = "7" Or bs = "8" Or bs = "9"
        If Not t1 = "."
          d1+bs
        ElseIf Not t2 = "."
          d2+  bs
        ElseIf Not t3 = "."
          d3+  bs
        ElseIf Not t4 = ":"
          d4+  bs
        Else
          pp+  bs
        EndIf
      ElseIf bs = "."
        If Not d1 = "" And d2 = ""
          t1 = "."
        ElseIf Not d2 = "" And d3 = ""
          t2 = "."
        ElseIf Not d3 = "" And d4 = ""
          t3 = "."
        ElseIf Not pp = ""
          d1 = pp
          d2 = ""
          d3 = ""
          d4 = ""
          pp = ""
          t1 = "."
          t2 = ""
          t3 = ""
          t4 = ""
        EndIf
      Else
        If Not d4 = "" And pp = ""
          t4 = ":"
        ElseIf Val(pp) > 79 And Val(pp) < 9000 And Val(d1) < 255 And Val(d2) < 255 And Val(d3) < 255 And Val(d4) < 255 And Val(d1) > 0 And Val(d2) > 0 And Val(d3) > 0 And Val(d4) > 0
          p+  1
          prx = d1 + t1 + d2 + t2 + d3 + t3 + d4 + t4 + pp
          If Not FindString(prx, "127.0.0.1", 1)
            For r = 1 To ArraySize(prox())
              g = 0
              If prox(r) = prx
                g = 1
              EndIf
            Next
            If g = 0
              prox(ArraySize(prox())) = prx
              ReDim prox(ArraySize(prox())+1)
            EndIf
          EndIf
          d1 = ""
          d2 = ""
          d3 = ""
          d4 = ""
          pp = ""
          t1 = ""
          t2 = ""
          t3 = ""
          t4 = ""
        Else
          d1 = ""
          d2 = ""
          d3 = ""
          d4 = ""
          pp = ""
          t1 = ""
          t2 = ""
          t3 = ""
          t4 = ""
        EndIf
      EndIf
    Next x

    =) это мой калл
    суть: ищется посимвольным сравнениям прокси сервера формата n.n.n.n port и заполняется массив prox()
    в 2000 году у PureBasic не было еще регулярок, а у меня знаний =)
    даже сейчас удивляюсь что код тогда мной был написан за один раз и без комментариев 0_0 (d1,d2,d3,d4,pp,t1,t2,t3,t4.... жуть)

    Запостил: pbg, 29 Июня 2010

    Комментарии (8) RSS

    • и еще хочу докласть, эта черешня работает быстрей чем regex
      Ответить
    • Скажите пожалуйста, а что такое 79?
      Ответить
      • http://www.straipsniai.lt/zmones/puslapis/10812
        Ответить
        • чето я не понял к чему это :?
          насчет 9000 понятно )))
          Ответить
          • к номеру 79.
            Ответить
            • >>>к номеру 79.
              спасибо кеп, это и так ясно

              но что тут особенного?
              есть и номер 77
              http://www.straipsniai.lt/ru/Poses/page/10814
              и другие номера тоже
              Ответить
              • не спорю, есть, но спросили то именно "что такое 79" // К.О
                >>http://govnokod.ru/3594#comment36488
                Ответить
      • порт больше 79 и меньше 9000 =)
        Ответить

    Добавить комментарий