Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Как вытащить все ссылки из php-файла? Добавлено: 10.07.06 17:10  

Автор вопроса:  RomK aka Куций
Привет VB-шникам.
Вопрос такой:
как с помощью Visual Basic вытащить все ссылки из php-файла, что выляется на серваке?
Я знаю как вытащить ссылки из html-файла, но с php-файлом проблемы.
Спасибо.

Ответить

  Ответы Всего ответов: 16  

Номер ответа: 1
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #1
Добавлено: 10.07.06 17:52
Только через FTP

Ответить

Номер ответа: 2
Автор ответа:
 RomK aka Куций



Вопросов: 6
Ответов: 13
 Профиль | | #2 Добавлено: 10.07.06 17:55
Ну и причём тут FTP?
Ну закачаю я файл на Машину, а дальше с ним что делать? Ведь, что он на сервере PHP, что на Машине - один хрен!

Ответить

Номер ответа: 3
Автор ответа:
 Softer



ICQ: 203660381  

Вопросов: 29
Ответов: 205
 Web-сайт: hware.org.ua
 Профиль | | #3
Добавлено: 10.07.06 18:22
Так результат работы сервера PHP вроде ж чистый HTML... Сохрани его и обработай также как и HTML...

Ответить

Номер ответа: 4
Автор ответа:
 RomK aka Куций



Вопросов: 6
Ответов: 13
 Профиль | | #4 Добавлено: 10.07.06 18:28
ОК. Каким образом? Подскажи!

Ответить

Номер ответа: 5
Автор ответа:
 Softer



ICQ: 203660381  

Вопросов: 29
Ответов: 205
 Web-сайт: hware.org.ua
 Профиль | | #5
Добавлено: 10.07.06 18:43
В IE (да и других) есть ф-я "Сохранить как". Так вот тебе ее нада реализовать. Но не просто сохранить исходный файл! Тебе нужен файл после обработки сервером. Сохраняешь результат на диск и обрабатываешь его как HTML.

ЗЫ: Как сделаешь - скажешь как сохранил результат работы сервера (ту HTML'ку).

ЗЗЫ: Сорри что так спутанно объяснил... :)

Ответить

Номер ответа: 6
Автор ответа:
 RomK aka Куций



Вопросов: 6
Ответов: 13
 Профиль | | #6 Добавлено: 10.07.06 19:01
Хэх... Спасибо, но это я и сам знал...
Мне как раз и нужно знать как php-файл сохранить в html, что-бы потом сделать своё "грязное" дело и вытащить ссылки из файла.

Ответить

Номер ответа: 7
Автор ответа:
 BUG(O)R



ICQ: 827887 

Вопросов: 13
Ответов: 142
 Web-сайт: hunger.ru
 Профиль | | #7
Добавлено: 10.07.06 20:11
А что там сохранять, скачай его просто да и всё, хотя бы той же URLDownloadToFile

Ответить

Номер ответа: 8
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #8 Добавлено: 10.07.06 20:54
шо за бред, товарищи?

IE ненужен, нужны сокеты + GET запрос к указанной страницы, это и будет результат работы пхп скрипта.

И вопрос неправельно стоит, автор вопроса имеет ввиду вытащить ссылки со страницы, причём тут пхп?

Ответить

Номер ответа: 9
Автор ответа:
 RomK aka Куций



Вопросов: 6
Ответов: 13
 Профиль | | #9 Добавлено: 10.07.06 20:57
Всё получилось. Результат ниже.
На форме нужно создать CommandButton [Command1] и ListBox [List1]

Option Explicit
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Dim X, Y, St1, St2, tmpY As Integer

Private Sub Form_Load()
    ;DownloadFile "http://www.g-com.kiev.ua/index.php", "F:\g-com.html"
End Sub

Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
    Dim lngRetVal As Long
    lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
    If lngRetVal = 0 Then DownloadFile = True
End Function

Private Sub Command1_Click()
    StripURL ("F:\g-com.html";)
End Sub

Public Sub StripURL(FilePath As String)
  Dim tmpURL1, tmpURL2 As String
    Open FilePath For Input As #1
        Do Until EOF(1)
            Input #1, tmpURL1
            For X = 1 To Len(tmpURL1)
                tmpURL2 = Mid(tmpURL1, X, 7)
                If tmpURL2 = "http://" Then
                    St1 = X
                    tmpY = X
                    For Y = 1 To Len(tmpURL1)
                        tmpURL2 = Mid(tmpURL1, tmpY, 1)
                        If tmpURL2 = Chr(34) Then
                            St2 = tmpY
                            List1.AddItem Mid(tmpURL1, St1, ((St2 - St1)))
                            Exit For
                        Else
                            tmpY = tmpY + 1
                        End If
                    Next Y
                End If
            Next X
        Loop
    Close #1
End Sub


Всем спасибо!

Ответить

Номер ответа: 10
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #10 Добавлено: 10.07.06 21:30
теперь возмь измени свой g-com.html, и попробуй поновой :)))

Ответить

Номер ответа: 11
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #11 Добавлено: 10.07.06 21:31
всмысле index.php измени...

Ответить

Номер ответа: 12
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #12
Добавлено: 10.07.06 22:47
Ну и причём тут FTP?

- При том, что когда ты открываешь ПХП по HTTP протоколу (как раз это и делает URLDownloadToFile в твоей проге), то его содержание зависит от условий при кот. он открывается, т.е. он может содержать 100 ссылок, а при других условиях - ни одной. Потому, что он пхп, а не хтмл (конечно, если он действительно содержит какую-то пхп-логику). А когда ты качаешь пхп по ftp протоколу, то на выходе получаешь реальный пхп-код.

Так что твоя прога:
1. Выдирает только абсолютные ссылки (а как на счет относительных? )
2. Выдирает их не из PHP файла, а из HTML кода, присланного тебе сервером в ответ на твой запрос PHP файла.

Ответить

Номер ответа: 13
Автор ответа:
 RomK aka Куций



Вопросов: 6
Ответов: 13
 Профиль | | #13 Добавлено: 10.07.06 23:34
А когда ты качаешь пхп по ftp протоколу, то на выходе получаешь реальный пхп-код.

Так что твоя прога:
1. Выдирает только абсолютные ссылки (а как на счет относительных? )
2. Выдирает их не из PHP файла, а из HTML кода, присланного тебе сервером в ответ на твой запрос PHP файла.


Ну нахрена мне php-код, если у меня права на этот сайт root. Не в этом вопрос. Мне как раз нужны адреса, куда ссылаются баннеры, что на данной странице, а не php-код :-) Так как баннеры формируются не на стророне сервера, а на стороне клиента - логично, что мне как раз нужен именно html-код.
Но всё-равно спасибо. Может когда-нибудь, Серёга, твой совет мне пригодится.

Ответить

Номер ответа: 14
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #14 Добавлено: 12.07.06 01:08
URLDownloadToFile привязан к кэшу IE, изменив файл index.php и закачав его заново URLDownloadToFile, получишь старый файл, т.к. на самом деле файл небудет скачан заново, он будет получен из кэша...

Ответить

Номер ответа: 15
Автор ответа:
 BUG(O)R



ICQ: 827887 

Вопросов: 13
Ответов: 142
 Web-сайт: hunger.ru
 Профиль | | #15
Добавлено: 12.07.06 14:13
Что-то я не вижу, где сказано, что файл будет скачиваться много раз?
URLDownloadToCacheFileA

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам