Jak wykonać z poziomu php "kliknięcie" na link zawarty w zmiennej tekstowej

1

Dzień dobry,
Piszę sobie program w php, który ma na celu rozsyłkę informacji na komunikatory Viber/Whatsapp/Telegram (na numery zawarte w bazie danych MySql).
Ponieważ nie istnieje stworzone dla tych celów darmowe API, niestety muszę posiłkować się jego namiastką.

Chciałbym to zrobić w sposób prosty - bez Ajaxów itp....
Wywołanie html postaci:
http://api.callmebot.com/text.php?source=web&user=@wkowalski&text=wiadomość testowa

powoduje wysłanie wiadomości do użytkownika o zadanym id.

Wydaje mi się, że najprościej będzie spreparować taki link na poziomie php i no właśnie... jak spowodować jego wykonanie się z poziomu php - aby zawartość zmiennej potraktowana została jako link i wykonana?

Będę bardzo wdzięczny za pomoc.

2

fopen albo curl

0

A dokładniej? przy założeniu że adres strony oraz parametry są w zmiennej $url jak spowodować, aby została ona potraktowana jako strona do otwarcia?

0

@Wszebor Kowalski: Ale co dokładniej chcesz wiedzieć? Użyj https://www.php.net/manual/en/book.curl.php i co tutaj więcej chcesz wiedzieć?

0

Mam adres http w zmiennej.. coś typu "http://api.callmebot.com/text[...]@wkowalski&text=wiadomość testowa"
Nie chcę tego nijak parsować ani nic... ale chciałbym, żeby skrypt php zachował się tak jakbym tą stronę otwarł.. nie musi wyświetlić jej nawet, ale zadziałać - spowoduje to wysyłkę wiadomości na komunikator.

2

No tak, wiemy co chcesz osiągnąć ale kto tu mówi o jakimś "parsowaniu". Wykonujesz CURL z podanym przez Ciebie URL'em i... w zasadzie to wszystko :)

0

curl_exec(nazwa_zmiennej)?

Przepraszam, ale nie jestem ekspertem od php.. zawsze w Javie albo Delphi a i to lata temu:)

1

No musisz zrobic requesta pod dany adres.

0

Najwidoczniej czegoś nie rozumiem...

			$handle = curl_init();
			curl_setopt($handle,CURLOPT_URL, $url);
			$data = curl_exec($handle);
                        curl_close($handle);

Nie powinno to wywołać efektu takiego, jak otwarcie np w przeglądarce adresu zawartego w zmiennej $url?

1

Powinno. Zobacz co masz w zmiennej $data np. Przy użyciu var_dump().

0

@jurek1980: var_dump ($data); wyrzuca coś takiego:

C:\wamp64\www\index.phpboolean false

1

curl_exec zwraca false jeśli jest błąd.
Najpierw spróbuj połączyć się do na pewno istniejącej strony typu wp.pl lub 4p :)
Potem debuguj dalej.
https://www.php.net/manual/en/function.curl-error.php
https://blog.kettle.io/debugging-curl-requests-in-php/

0

@jurek1980: Tylko że.. taka strona działa - bo gdy przekleję tego linka spod zmiennej url do przeglądarki - wiadomość testowa ulega wysłaniu - i otwiera się potwierdzenie że poszło.

0

Ok. nie wiem, dokładnie co robisz i jaka strona. Nie masz jakichś parametrów w URL? Trzeba sprawdzać po kolei.

1
Wszebor Kowalski napisał(a):

Najwidoczniej czegoś nie rozumiem...

			$handle = curl_init();
			curl_setopt($handle,CURLOPT_URL, $url);
			$data = curl_exec($handle);
                        curl_close($handle);

Nie powinno to wywołać efektu takiego, jak otwarcie np w przeglądarce adresu zawartego w zmiennej $url?

Dodaj za zmienną data kod:

if(!$data)
{
    echo 'Curl error: ' . curl_error($handle);
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1