k33theod Δημοσ. 1 Αυγούστου 2020 Δημοσ. 1 Αυγούστου 2020 (επεξεργασμένο) Γεια σε όλους Χρησιμοποιώ την curl για να πάρω κάποια δεδομένα από ένα api o κώδικας είναι αυτός $json_request = file_get_contents('php://input'); $ch = curl_init("http://hostname.com:7380/qopwebui/batchcalculation_servlet?username=XXXX&password=XXX"); curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); curl_setopt($ch, CURLOPT_POSTFIELDS,$json_request); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); $result = curl_exec($ch); Σε μία εφαρμογή που το έχω ήδη δουλεύει κανονικά και στο localhost επίσης δουλεύει Ο ίδιος κώδικας σε άλλους host δεν δουλέυει. Στον 1 παίρνω connection refused και στον άλλο τίποτα. Και στους δύο παρατηρώ με την curl_getinfo ότι τα options δεν φορτώνονται στο curl Παίρνω δηλαδή αυτό. Failed to connect to hostname.com port 7380: Connection refused1 Array ( [url] => http://hostname.com:7380/qopwebui/batchcalculation_servlet?username=XXXX&password=XXXX [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.200964 [namelookup_time] => 0.000493 [connect_time] => 0 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 [redirect_url] => [primary_ip] => [certinfo] => Array ( ) [primary_port] => 0 [local_ip] => [local_port] => 0 [http_version] => 0 [protocol] => 0 [ssl_verifyresult] => 0 [scheme] => [appconnect_time_us] => 0 [connect_time_us] => 0 [namelookup_time_us] => 493 [pretransfer_time_us] => 0 [redirect_time_us] => 0 [starttransfer_time_us] => 0 [total_time_us] => 200964 ) 1 Καμια ιδέα τι μπορεί να φταίει. Επεξ/σία 1 Αυγούστου 2020 από k33theod
t(o.ot) Δημοσ. 1 Αυγούστου 2020 Δημοσ. 1 Αυγούστου 2020 Αφού τσεκάρεις ότι δεν είναι κάποιο firewall στους σέρβερ σου που να κόβει τα συγκεκριμένα connections (σε ip, port ή protocol level), ίσως να είναι το firewall του destination server που κόβει τα connections από ip συγκεκριμένων χωρών ή εταιριών (πχ με range blocking). Γιατί δεν επικοινωνείς με την εταιρία που παρέχει το API α σε διαφωτίσουν στο κατά πόσο λαμβάνουν τα requests? 1
htaccess Δημοσ. 1 Αυγούστου 2020 Δημοσ. 1 Αυγούστου 2020 (επεξεργασμένο) Να υποθέσω ότι έχεις δημιουργήσει καταχώριση για το hostname.com στο / etc / hosts, δοκίμασες και με local ip στο $ch = curl_init("http:// ? Για το connection refused, ισχύουν ότι προανέφερε o @t(o.ot). Επεξ/σία 1 Αυγούστου 2020 από htaccess
k33theod Δημοσ. 2 Αυγούστου 2020 Μέλος Δημοσ. 2 Αυγούστου 2020 (επεξεργασμένο) 16 ώρες πριν, t(o.ot) είπε Αφού τσεκάρεις ότι δεν είναι κάποιο firewall στους σέρβερ σου που να κόβει τα συγκεκριμένα connections (σε ip, port ή protocol level), ίσως να είναι το firewall του destination server που κόβει τα connections από ip συγκεκριμένων χωρών ή εταιριών (πχ με range blocking). Γιατί δεν επικοινωνείς με την εταιρία που παρέχει το API α σε διαφωτίσουν στο κατά πόσο λαμβάνουν τα requests? Το ένα hosting αυτό που επιστρέφει connection refused είναι δικό μου και δεν έχει κάποιους περιορισμούς, το άλλο που δεν επιστρέφει τίποτα είναι ένα wordpress που βάλαμε μέσα τον κώδικα και δεν ξερω περισσότερα. Έστειλα μύνημα σε αυτόν που διαχειρίζεται το api και περιμένω. 11 ώρες πριν, htaccess είπε Να υποθέσω ότι έχεις δημιουργήσει καταχώριση για το hostname.com στο / etc / hosts, δοκίμασες και με local ip στο $ch = curl_init("http:// ? Για το connection refused, ισχύουν ότι προανέφερε o @t(o.ot). Όχι δεν έχω ιδέα γιατί μιλάς. Από το localhost δουλεύει κανονικά το script. Επεξ/σία 2 Αυγούστου 2020 από k33theod
htaccess Δημοσ. 2 Αυγούστου 2020 Δημοσ. 2 Αυγούστου 2020 15 ώρες πριν, k33theod είπε Όχι δεν έχω ιδέα γιατί μιλάς. Από το localhost δουλεύει κανονικά το script. Το hostname.com είναι ένα παράδειγμα στο κώδικά σου, όπως π.χ. example.com ? Προσπαθώ να καταλάβω πως εννοείς από localhost λειτουργεί, όπως παρακάτω ? $ch = curl_init("http://localhost:7380/qopwebui/batchcalculation_servlet?username=XXXX&password=XXX");
k33theod Δημοσ. 3 Αυγούστου 2020 Μέλος Δημοσ. 3 Αυγούστου 2020 14 ώρες πριν, htaccess είπε Το hostname.com είναι ένα παράδειγμα στο κώδικά σου, όπως π.χ. example.com ? Προσπαθώ να καταλάβω πως εννοείς από localhost λειτουργεί, όπως παρακάτω ? $ch = curl_init("http://localhost:7380/qopwebui/batchcalculation_servlet?username=XXXX&password=XXX"); Όχι δεν εννοώ αυτό. Tο api τρέχει σε server όχι στο localhost. Εννοώ ότι το καλώ από το localhost.
htaccess Δημοσ. 3 Αυγούστου 2020 Δημοσ. 3 Αυγούστου 2020 3 ώρες πριν, k33theod είπε Όχι δεν εννοώ αυτό. Tο api τρέχει σε server όχι στο localhost. Εννοώ ότι το καλώ από το localhost. ok. Μήπως δεν είναι εγκατεστημένο/ενεργοποιημένο το curl module στην php στους servers που δεν σου λειτουργεί ? https://stackoverflow.com/questions/13433946/how-to-check-if-curl-is-enabled-or-disabled
k33theod Δημοσ. 3 Αυγούστου 2020 Μέλος Δημοσ. 3 Αυγούστου 2020 Στο δικό μου host to είδα με phpinfo() είναι enabled. Εξάλου μου επιστρέφει Error. Στο wordpress δεν έχω ιδέα. Φαίνεται να μην στέλνει καθόλου το request. Εκτελείται κανονικά το php file γιατί αν γράψω πχ echo 'hello' μου το επιστρέφει.
htaccess Δημοσ. 3 Αυγούστου 2020 Δημοσ. 3 Αυγούστου 2020 Πιθανολογώ ό,τι, το error connection refused στο κόβει ο δικό σου host/server, αν έχεις πρόσβαση με ssh, γράψε του τον κανόνα /sbin/iptables -A OUTPUT -p tcp -m tcp --dport 7380 -j ACCEPT και δοκίμασε πάλι. Για wordpress ρίξε μία ματιά στα παρακάτω > https://wordpress.stackexchange.com/questions/293427/curl-how-to-send-and-fetch-data-in-wordpress https://wordpress.org/support/topic/how-to-send-a-http-post-request-using-php-curl-and-wordpress 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα