![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 2.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, jak w temacie czy mogę w jakiś sposób pobrać dane w formacie JSON z serwera znajdującego się w innej domenie metodą POST, bez przeładowywania strony?
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
file_get_contents z innego serwera
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 2.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
potrzebuję to zrobić używając JavaScriptu i dodatkowo przesłać argumenty.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
No to ci mówie, że za pomoca php pobierasz sobie zawartość z innego serwera. A javascriptem wywolujesz ten skrypt.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 2.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Prawdę mówiąc nie rozumie
![]() Taki AJAX tylko cross domain ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
1) Ajax wywołuje skrypt SKRYPT.php
2) Skrypt php wywołuje SKRYPT_Z_INNEGO_SERWERA.php (curl, file_get_contents i streamy) 3) SKRYPT.php odpowiada ajaxowi -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Teoretycznie możesz też użyć techniki ukrytej ramki do tego, ale zbudowanie brigde`a (bo to wym mówi @wookieb) jest w sumie prostsze.
-------------------- Moja gra - scraby.io
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 28.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
a ja widzę tu problem - zagadnienie z 2 etapu rekrutacji w pewnej firmie webmasterskiej...
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 2.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
![]() bridge'a zrobiłem za pomocą samego curla ![]() Ten post edytował mjetek 14.05.2010, 10:27:06 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Może nieaktualne ale głupoty piszecie. Dane trzeba pobrać za pomocą JavaScript a nie jakichś tam PHP(Tak wynika to z pierwszego postu). Tak więc lepiej zrobić coś takiego:
Kod ASCIIEncoding enc=new ASCIIEncoding();
string postData="dane=daneresc&dane2=dane2tresc"; byte[] data = enc.GetBytes(postData); HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://example.com/plik"); myRequest.Method = "POST"; myRequest.ContentType="application/x-www-form-urlencoded"; myRequest.ContentLength = data.length; Stream newStream=myRequest.GetRequestStream(); newStream.Write(data,0,data.Length); newStream.Close(); -------------------- Warsztat: Kubuntu, PhpStorm, Opera
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
@SHiP dlaczego głupoty?
Dlatego piszemy o PHP bo we wszystkich nowoczesnych przeglądarkach zaimplementowaną takie cudo jak The Same Orgin Policy czyli zabezpieczanie przed pobieraniem danych za pomocą obiektu XHR z innej strony (innej domeny, jeśli komunikacja odbywa się na innym porcie, blablabla...) i nomen omen można na czystko zrobić to w JS`ie bo The Same Orgin Policy jest implementowane w przeglądarce (a nie jak większość twierdzi jest to ograniczenie JS`a/Ajax`a!) i tą opcje da się wyłączyć, tyle że 99% ludzi ma tą opcję włączoną i po ich stronie już takie zapytania będą odrzucane już na warstwie przeglądarki. Wyjścia są 2: - budowa brigde`a - technika ukrytej ramki Co do Twojego kodu, to eee... wyszła nowa wersja ECMAScriptu? -------------------- Moja gra - scraby.io
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 21:42 |