Получить полный URL внешнего сайта с помощью JS, PHP или VBA - PullRequest
0 голосов
/ 03 ноября 2019

Мне интересно, есть ли способ вернуть полный URL (или только параметры) сайта, используя JavaScript или PHP, или даже VBA в Excel?

Я не могу просмотреть этот сайт в iframe, потому чтоэто дает мне ошибку:

("frame-ancestors 'self'". error, Content Security Policy)

, поэтому я не могу использовать window.location (вероятно, из-за перекрестного происхождения), мне интересно, как это можно сделать в PHP или Excel VBA (как использовать xmlhttp.Open в таком случае?) или с JS без возврата самого содержимого. Мне нужен не контент, а только полный URL-адрес или параметры, поскольку я знаю только часть URL-адреса.

У меня есть полный список идентификаторов из магазина, поэтому, если бы это было возможно, я мог бысэкономить много печатать для реселлера, потому что он использует ID при заказе определенных вещей от своего поставщика. Если я использую идентификатор, веб-сайт загружает содержимое и изменяет URL-адрес на правильный - он выглядит так (в браузере):

Мой запрос: https://exampledomain.com/product_id=11

После загрузки URL-адрес: https://exampledomain.com/product_id=11&category=bikes&type=street

, поэтому интересующая меня часть - & category = bikes & type = street , но для дальнейшего анализа будет достаточно полного URL-адреса.

Чтобы быть более точным, вот рабочие примеры: посмотрите, как изменяется URL-адрес после загрузки контента, и мне нужно получить новый, измененный URL-адрес

https://www.olx.pl/oferta/CID767-IDCkB7E.html

https://www.google.pl/maps/place/Paris,+France/

https://www.openstreetmap.org/search?query=Warszawa

1 Ответ

0 голосов
/ 04 ноября 2019

Я думаю, это то, что вы ищете.

'Import Everything From a Web Page:

Sub Test()
    Dim IE As Object

    Set IE = CreateObject("InternetExplorer.Application")
    With IE
        .Visible = True
        .Navigate "http://your_link_here/" ' should work for any URL
        Do Until .ReadyState = 4: DoEvents: Loop

            x = .document.body.innertext
            x = Replace(x, Chr(10), Chr(13))
            x = Split(x, Chr(13))
            Range("A1").Resize(UBound(x)) = Application.Transpose(x)

            .Quit
        End With

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...