Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie JSON i brak odpowiedzi
Forum PHP.pl > Forum > PHP
Mieciuh
Witam.

Mam taki kod z zapytaniem json do "polldaddy":
CODE
<?php
Header("content-type: application/x-javascript");
$zapytanie = '{
"pdRequest": {
"partnerGUID": "645c73-847j7d-ey62uw",
"userCode": "$Frefb6G$gce0900",
"demands": {
"demand": {
"list": {
"period": "ALL",
"start": "0",
"end": "10",
"id": "123456",
"uid": ""
},
"id": "GetRatingResults"
}
}
}
}';

$ch = curl_init("https://api.polldaddy.com");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $zapytanie);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($zapytanie))
);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);

//execute post
$odpowiedz = curl_exec($ch);

//close connection
curl_close($ch);

echo $odpowiedz;

?>


Używałem tego kodu przez dłuższy czas i zwracał mi ładnie odpowiedź, a teraz nie zwraca nic. Nie wyskakuje żaden błąd, po prostu generuje się pusty skrypt mad.gif Wie ktoś może, jaki jest powód, że przestało mi to działać questionmark.gif

Dziękuję i pozdrawiam.
nospor
Nie: "userCode": "$Frefb6G$gce0900",
a: "userCode": '$Frefb6G$gce0900',

Chyba ze ty tam naprawde zmienne wstawiasz w co watpie
Mieciuh
Nie, to nie jest zmienna, userCode to zwykły ciąg, od dolara zaczyna się przez przypadek, bo takie kody generuje polldaddy. Tak jak napisałeś, czyli ujęte w apostrof zamiast cudzysłowia, nie działa i wyskakuje błąd, bo przecież cały ciąg $zapytanie jest objęty apostrofem i zrobienie tak jak napisałeś rozbija to zapytanie. I to chyba w ogóle nie w samym ciągu $zapytanie tkwi błąd, bo na stronie testowej polldaddy po wklejeniu właśnie samego tego zapytania json, zwraca odpowiedź, ale kiedy robię to ze swojego serwera poprzez użycie powyższego kodu, to coś już nie działa, więc problem jest pewnie w tym jak jest wysyłane zapytanie, nie wiem, bo ja tam nie widzę błędu, ale ja się słabo znam dlatego pytam. Dzięki za zainteresowanie, może widzisz coś jeszcze co może "psuć" ten kod?
Pozdrawiam.
viking
  1. curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($zapytanie));
Mieciuh
Niestety dalej nie działa worriedsmiley.gif
markuz
Mi zwraca:
Kod
{"pdResponse":{"userCode":"$Frefb6G$gce0900","errors":{"error":[{"content":"API Key Not Found, 912","id":1}]},"partnerGUID":"645c73-847j7d-ey62uw","partnerUserID":0}}

API Key Not Found, 912
Pyton_000
Zdaje mi się że "userCode" masz błędne. Sprawdź z panelu czy się zgadza.
Mieciuh
Tak, to userCode pochodzi z jakiegoś przykładowego zapytania i jest widać błędne. Ale u mnie nie zwraca żadnej odpowiedzi, nawet informacji o błędzie, tak samo po wstawieniu właściwego userCodu. Okazuje się, że problem tkwi chyba w moim hostingu, bo założyłem specjalnie jakiś inny darmowy żeby sprawdzić i zadziałało poprawnie, Markuzowi też zwraca odpowiedź, więc to z tym serwerem pewnie jest coś nie tak. Ale w takim przypadku chyba nie da się już nic na to poradzić ? sadsmiley02.gif
viking
Wyświetlają sie jakieś inne błędy lub ostrzeżenia PHP? Temat: Jak poprawnie zadac pytanie oraz przygotowac srodowisko pracy tu masz opisane
Mieciuh
Tak, po wstawieniu kodu:
CODE
error_reporting(E_ALL);
ini_set('display_errors','1');


Wyświetla się tak:
CODE
Warning: curl_init() has been disabled for security reasons
Warning: curl_setopt() has been disabled for security reasons
Warning: curl_setopt() has been disabled for security reasons
Warning: curl_setopt() has been disabled for security reasons
Warning: curl_setopt() has been disabled for security reasons
Warning: curl_setopt() has been disabled for security reasons
Warning: curl_setopt() has been disabled for security reasons
Warning: curl_exec() has been disabled for security reasons
Warning: curl_close() has been disabled for security reasons


sad.gif
viking
No i widzisz. Tak to jest jak się ukrywa błędy albo nie patrzy w logi. Robisz sobie i innym zbędna pracę. Na tym serwerze z curl nie skorzystasz.
Mieciuh
Nie wiedziałem, że można tak fajnie pokazać wszystkie błędy, powinienem zajrzeć wcześniej do tamtego tematu i zrobić to od razu, przepraszam. I dziękuję za poświęcony czas.
Pozdrawiam.
P.S. Musieli w ostatnim czasie coś zmienić na tym serwerze, bo do tej pory robiłem to także z niego i działało.
Pyton_000
Użyj file_get_contents z odpowiednim context. W dokumentacji masz przykłady.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.