Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2018-02-24, 05:58


Kancianoo







Wiek: 25
Na forum: 3095 dni
Posty: 4
Nick w MP: kanciano

Piwa: 1

Respekt: 50

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.

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
fisherek43
Wysłany: 2018-02-24, 16:46


silentus

#define true false






Wiek: 30
Na forum: 5282 dni
Posty: 71
Nick w MP: .silent

Piwa: 1462

Respekt: 116,1
Respekt: 116,1

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)

Podpis


Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-02-25, 20:51


Kancianoo







Wiek: 25
Na forum: 3095 dni
Posty: 4
Nick w MP: kanciano

Piwa: 1

Respekt: 50

Gdy wpisze w link http:// lub https:// finkcja HTTP odsy?a b??d id 1 czyli HTTP_ERROR_BAD_HOST


formatowanie linku:
Kod:


format(reqUrl, sizeof(reqUrl), "microsms.pl/api/check.php?userid=****&number="SMS_NUM_9"&code=%s&serviceid=****", kod);
HTTP(playerid, HTTP_GET, reqUrl, "", "checkSMSAPI");

* -> Ukryte informacje

Kod:


public checkSMSAPI(playerid, response_code,data[])
{
new string[255],string2[15];

format(string2, sizeof(string2),"B?ad id: %d",response_code); //id b??du kt?ry wykrywa finkcja HTTP [Je?eli w linku b?dzie https:// lub http:// odsy?a id b??du 1 czyli HTTP_ERROR_BAD_HOST]
format(string, sizeof(string),"playerid: %d, %s, Data: %s",playerid, (response_code? (string2):("Po??czono")),data);// pokazuje id gracza kt?ry wywo?a? funkcj? HTTP, id b??du b?d? informuje ?e uda?o si? po??czy? ze stron?, podaje warto?? pobran? ze strony.
SendClientMessageToAll(0xFFFF00FF, string); //wysy?a do wszystkich na serwerze (tylko dla test?w)
return 1;
}


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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-02-26, 21:37


silentus

#define true false






Wiek: 30
Na forum: 5282 dni
Posty: 71
Nick w MP: .silent

Piwa: 1462

Respekt: 116,1
Respekt: 116,1

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()

Podpis


Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Kancianoo
Wysłany: 2018-03-01, 00:25


Kancianoo







Wiek: 25
Na forum: 3095 dni
Posty: 4
Nick w MP: kanciano

Piwa: 1

Respekt: 50

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:
Kod:

// example HTTP callback: public MyHttpResponse(index, response_code, data[]) { ... }

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 ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-03-01, 03:30


silentus

#define true false






Wiek: 30
Na forum: 5282 dni
Posty: 71
Nick w MP: .silent

Piwa: 1462

Respekt: 116,1
Respekt: 116,1

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:
Kod:


$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://adres.xyz/api.php?cos=1&cos2=2');
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);

$data = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if($httpcode >= 200 && $httpcode < 300)
{
// ok, mozna pobrac dane z $data na rozne sposoby zaleznie od tego w jakiej formie je podaje strona
// np json_decode
}
else
{
// blad w polaczeniu
}


Podpis


Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Kancianoo
Wysłany: 2018-03-03, 14:21


Kancianoo







Wiek: 25
Na forum: 3095 dni
Posty: 4
Nick w MP: kanciano

Piwa: 1

Respekt: 50

Do zamkni?cia. Uda?o si? w troch? inny spos?b :P ale i tak dzi?ki za pomoc @silentus.

Postaw piwo autorowi tego posta
 

 
Tagi: http
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » HTTP Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

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
Dodaj temat do Ulubionych
Wersja do druku