Witam. Ot?? mam problem polegaj?cy na jakby braku po??czenia mojego serwera ze stron? na necie.
Jest mi to potrzebne do uruchomienia kupna vipa na Microsms lecz serwer jakby nie mo?e pobra? informacji z podanej strony. Link jest poprawnie tworzony poniewa? nie raz sprawdza?em. Gdy sprawdzam w panelu na stronie MSMS czy dany kod zosta? wykorzystany pokazuje ?e kod nadal jest aktywny (kod jest jednorazowy). Gdy wejd? osobi?cie na t? stron? kt?ra ma zweryfikowa? kod i link do niej zosta? poprawnie sformu?owany przez serwer to kod zostaje wykorzystany lecz gdy serwer ma to zrobi? to nic si? nie dzieje.
Serwer formuje link i pr?buje si? z nim po??czy? poprzez:
HTTP(playerid, HTTP_GET, reqUrl, "", "checkSMSAPI");
reqUrl - Link
Jak na razie VIP dzia?a na starym systemie. W sumie to w "HTTP()" nic nie zmienia?em poniewa? z tego co si? dowiedzia?em ta funkcja pobiera informacje ze strony i odsy?a je do "checkSMSAPI" w moim przypadku.
public checkSMSAPI(playerid, response_code,data[])
response_code - podaje id b??du (w moim przypadku nic)
data - pobrane informacje ze strony (nie wiem dok?adnie w jaki spos?b)
Tutaj dla test?w da?em SendClientMessageToAll() aby pobrane informacj? wys?a?o na czat (testuje na dom?wce dlatego tak [testy odbywa?y si? te? na hostingu lecz jest to samo])
Czy jest kto? w stanie mi z tym pom?c ? Albo chocia? powiedzie? dlaczego serwer nie mo?e po??czy? si? z t? stron? ?
Albo to ja co? ?le robi? (najprawdopodobniej tak).
Je?eli podana przeze mnie strona nie powinna by? ukazana [np. reklama] to prosz? Moderatora/Administratora o cenzur? na ni?. Ja twierdz? ?e jest to do?? wa?na informacja dlatego te? j? tutaj poda?em.
Ma?o informacji poda?e? i ?adnego kodu opr?cz tego co jest podstaw? dzia?ania funkcji HTTP
Je?li u?ywasz w adresie https:// to wymu? http:// bo samp nie wspiera ssl, je?li nie zadzia?a to poka? kod (ukryj swoje id/tokeny z adresu)
Gdy wpisze w link http:// lub https:// finkcja HTTP odsy?a b??d id 1 czyli HTTP_ERROR_BAD_HOST
formatowanie linku:
* -> Ukryte informacje
Tak jak ju? m?wi?em, serwer tak jakby nie mo?e po??czy? si? ze stron?. Gdy sam wejd? na t? stron? poprzez link kt?rym ma ??czy? si? serwer dzia?a poprawnie.
Hm no a jakie dane s? w callbacku checkSMSAPI po wykonaniu funkcji HTTP()? Funkcja powinna si? wykona? nawet je?li co? jest ?le i zwr?ci? b??d. Jak? wielko?? ma zmienna reqUrl? Wyprintuj sobie wszystko, to jak jest formatowana zmienna reqUrl i to co jest w checkSMSAPI, zobacz te? co zwraca HTTP()
W checkSMSAMPI jest dok?adnie to co poda?em w poprzednim po?cie. reqUrl ma wielko?? 500. Zauwa?y?em ?e public CheckSMSAPI wykona? si? lecz nie tak jak powinien. Doda?em tam aby zapisa?o mi w pliku to co odebra?o ze strony w jednej linii i w drugiej po prostu s?owo "Wykonane". W tym pliku pojawi?a si? tylko linia ze s?owem "Wykonane". Wykorzysta?em do tego dini dlatego ?e je?eli w formatowanej linii kt?ra ma si? zapisa? nic nie ma to i tak stworzy ta linie lecz po "=" pozostawi puste. Zdziwi?em si? gdy w og?le taka linia si? nie pojawi?a.
W includzie "a_http" jest podany przyk?adowy public kt?ry ma si? wykona? po wywo?aniu funkcji.
Zgodnie z tym wzorem z includa a_http:
Powsta? public CheckSMSApi.
index - id gracza kt?ry wywo?a? funkcj?
response_code - B??d wykryty przez funkcj? HTTP
data[] - Tre?? pobrana ze strony
Teraz nabra?em podejrze? ?e to strona z kt?rej funkcja ma pobra? dane blokuje po??czenie poniewa? funkcja HTTP nie zwraca ?adnego b??du i na "starej" stronie gdzie by? weryfikowany kod dzia?a?o wszystko poprawnie. Zosta? tylko zmieniony Adres strony i zawarto?? CheckSMSAPI. Wcze?niej public CheckSMSAPI m?g? by? nawet pusty a i tak po wpisaniu poprawnego kodu strona odnotowywa?a sobie ?e kod zosta? wykorzystany.
Jest mo?e inna mo?liwo?? po??czenia si? ze stron? przez serwer ?
Z tego co widz? to strona robi redirect 301 na https wi?c w sampie b?dzie z tym lipa. Je?li chcesz kombinowa? to mo?esz zrobi? skrypt php i w nim pobiera? dane curlem a potem zwraca? do serwera.
Tu masz przyk?ad ??dania GET przez curla w phpie:
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach