Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne][PHP]CURL - pierwszy w życiu
phpamator
post 27.04.2020, 16:07:04
Post #1





Grupa: Zarejestrowani
Postów: 328
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

Ostrzeżenie: (0%)
-----


Panie i Panowie,
Przyszedł taki moment kiedy koniecznym stało się użycie nieco bardziej zaawansowanych mechanizmów niż te do tej pory ale jak zwykle nie obyło się bez problemów
i dlatego piszę kolejną prośbę i podanie koła .... ratunkowego smile.gif

Otóż,
z odległego serwera usiłuję pobierać dane, jednak albo czegoś nie zrozumiałem albo gdzieś popełnilem błąd i nie widzę.
Kod:
  1.  
  2. $url = "https://moj_server/restapi/pralka/wirówka/get-product/";
  3.  
  4. $ch = curl_init($url);
  5.  
  6. $parametry = array("jezyk" => "de", "ident" => '1234' );
  7.  
  8. curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
  9.  
  10. curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/xml'));
  11.  
  12. curl_setopt($ch, CURLOPT_HEADER, 1);
  13.  
  14. curl_setopt($ch, CURLOPT_USERPWD, "$login:$haslo");
  15.  
  16. curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  17.  
  18. curl_setopt($ch, CURLOPT_POST, 1);
  19.  
  20. curl_setopt($ch, CURLOPT_POSTFIELDS, $parametry);
  21.  
  22. curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  23.  
  24. $return = curl_exec($ch);
  25.  
  26. curl_close($ch);
  27.  


W odpowiedzi dostaję .... to:
HTTP/2 405 server: nginx date: Mon, 27 Apr 2020 14:39:29 GMT content-type: application/json content-length: 54 vary: Authorization cache-control: no-cache, private allow: GET {"error":{"code":405,"message":"Method Not Allowed"}}

Co robię niewłaściwie ?

pozdrawiam
phpamator

Ten post edytował phpamator 27.04.2020, 16:12:50
Go to the top of the page
+Quote Post
nospor
post 27.04.2020, 16:13:26
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dane masz wyslac GETem a nie POSTem


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
phpamator
post 27.04.2020, 16:31:44
Post #3





Grupa: Zarejestrowani
Postów: 328
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

Ostrzeżenie: (0%)
-----


Dzięki na podpowiedź nospor, mógł byś rozjaśnić? obczytałem się na temat requestów curlem GET i według przykładów różnica polega jedynie na ilości użytych setoptów/CURLOPTów co prowadziło mnie do usunięcia tych które uznałem za zbędne co nie rozwiązało problemu i dalej dostaję ten sam błąd.

  1. $ch = curl_init($url);
  2.  
  3. // Execute
  4. curl_exec($ch);
  5.  
  6. // Check if any error occurred
  7. if (!curl_errno($ch)) {
  8. $info = curl_getinfo($ch);
  9. //echo 'Took ', $info['total_time'], ' seconds to send a request to ', $info['url'], "\n";
  10. }
  11. curl_setopt($ch, CURLOPT_URL,$url);
  12. curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
  13. curl_setopt($ch, CURLOPT_USERPWD, "$kluczAPI:$sekretAPI");
  14. curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  15. $data = curl_exec($ch);
  16. $return = $data;
  17. curl_close($ch);
  18.  

już czaję ....
ło mateńko jaki ja "gupi"
...

OK, a jak w tej sytuacji mogę manipulować parametrami, żeby za każdym razem nie tworzyć całego URL'a tylko dodawać parametry, w przypadku POST mam postfields a w przypadku GET ?
Oczywiście mogę sobie to spokojnie rozwiązać przez generowanie mojego urla ale tak z ciekawości pytam bo nie zauważyłem ..


dzięki

Ten post edytował phpamator 27.04.2020, 16:39:33
Go to the top of the page
+Quote Post
viking
post 27.04.2020, 17:00:34
Post #4





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Użyj jak człowiek zewnętrznej biblioteki np guzzle zamiast kombinować.


--------------------
Go to the top of the page
+Quote Post
phpamator
post 27.04.2020, 17:10:15
Post #5





Grupa: Zarejestrowani
Postów: 328
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

Ostrzeżenie: (0%)
-----


Guzzle ?
OK, chyba warto chociaż zobaczyć co to takiego tongue.gif
Dzięki viki-ngu
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.07.2025 - 10:31