'NO_ERROR', 1 => 'CURLE_UNSUPPORTED_PROTOCOL', 2 => 'CURLE_FAILED_INIT', 3 => 'CURLE_URL_MALFORMAT', 4 => 'CURLE_URL_MALFORMAT_USER', 5 => 'CURLE_COULDNT_RESOLVE_PROXY', 6 => 'CURLE_COULDNT_RESOLVE_HOST', 7 => 'CURLE_COULDNT_CONNECT', 8 => 'CURLE_FTP_WEIRD_SERVER_REPLY', 9 => 'CURLE_REMOTE_ACCESS_DENIED', 11 => 'CURLE_FTP_WEIRD_PASS_REPLY', 13 => 'CURLE_FTP_WEIRD_PASV_REPLY', 14 =>'CURLE_FTP_WEIRD_227_FORMAT', 15 => 'CURLE_FTP_CANT_GET_HOST', 17 => 'CURLE_FTP_COULDNT_SET_TYPE', 18 => 'CURLE_PARTIAL_FILE', 19 => 'CURLE_FTP_COULDNT_RETR_FILE', 21 => 'CURLE_QUOTE_ERROR', 22 => 'CURLE_HTTP_RETURNED_ERROR', 23 => 'CURLE_WRITE_ERROR', 25 => 'CURLE_UPLOAD_FAILED', 26 => 'CURLE_READ_ERROR', 27 => 'CURLE_OUT_OF_MEMORY', 28 => 'CURLE_OPERATION_TIMEDOUT', 30 => 'CURLE_FTP_PORT_FAILED', 31 => 'CURLE_FTP_COULDNT_USE_REST', 33 => 'CURLE_RANGE_ERROR', 34 => 'CURLE_HTTP_POST_ERROR', 35 => 'CURLE_SSL_CONNECT_ERROR', 36 => 'CURLE_BAD_DOWNLOAD_RESUME', 37 => 'CURLE_FILE_COULDNT_READ_FILE', 38 => 'CURLE_LDAP_CANNOT_BIND', 39 => 'CURLE_LDAP_SEARCH_FAILED', 41 => 'CURLE_FUNCTION_NOT_FOUND', 42 => 'CURLE_ABORTED_BY_CALLBACK', 43 => 'CURLE_BAD_FUNCTION_ARGUMENT', 45 => 'CURLE_INTERFACE_FAILED', 47 => 'CURLE_TOO_MANY_REDIRECTS', 48 => 'CURLE_UNKNOWN_TELNET_OPTION', 49 => 'CURLE_TELNET_OPTION_SYNTAX', 51 => 'CURLE_PEER_FAILED_VERIFICATION', 52 => 'CURLE_GOT_NOTHING', 53 => 'CURLE_SSL_ENGINE_NOTFOUND', 54 => 'CURLE_SSL_ENGINE_SETFAILED', 55 => 'CURLE_SEND_ERROR', 56 => 'CURLE_RECV_ERROR', 58 => 'CURLE_SSL_CERTPROBLEM', 59 => 'CURLE_SSL_CIPHER', 60 => 'CURLE_SSL_CACERT', 61 => 'CURLE_BAD_CONTENT_ENCODING', 62 => 'CURLE_LDAP_INVALID_URL', 63 => 'CURLE_FILESIZE_EXCEEDED', 64 => 'CURLE_USE_SSL_FAILED', 65 => 'CURLE_SEND_FAIL_REWIND', 66 => 'CURLE_SSL_ENGINE_INITFAILED', 67 => 'CURLE_LOGIN_DENIED', 68 => 'CURLE_TFTP_NOTFOUND', 69 => 'CURLE_TFTP_PERM', 70 => 'CURLE_REMOTE_DISK_FULL', 71 => 'CURLE_TFTP_ILLEGAL', 72 => 'CURLE_TFTP_UNKNOWNID', 73 => 'CURLE_REMOTE_FILE_EXISTS', 74 => 'CURLE_TFTP_NOSUCHUSER', 75 => 'CURLE_CONV_FAILED', 76 => 'CURLE_CONV_REQD', 77 => 'CURLE_SSL_CACERT_BADFILE', 78 => 'CURLE_REMOTE_FILE_NOT_FOUND', 79 => 'CURLE_SSH', 80 => 'CURLE_SSL_SHUTDOWN_FAILED', 81 => 'CURLE_AGAIN', 82 => 'CURLE_SSL_CRL_BADFILE', 83 => 'CURLE_SSL_ISSUER_ERROR', 84 => 'CURLE_FTP_PRET_FAILED', 84 => 'CURLE_FTP_PRET_FAILED', 85 => 'CURLE_RTSP_CSEQ_ERROR', 86 => 'CURLE_RTSP_SESSION_ERROR', 87 => 'CURLE_FTP_BAD_FILE_LIST', 88 => 'CURLE_CHUNK_FAILED' ); //-------------------------------------------------------------------------------------------------------------------------------------------- /* * $data may be an array() ex. * array( * 'myproperty' => 'a text', * 'another_property' => 'hello world' * ) */ function CallAPIEx($method, $url, $data) { global $curl_error_codes; $curl = curl_init($url); switch ($method) { case "POST": curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); break; case "PUT": curl_setopt($curl, CURLOPT_PUT, 1); break; default: if ($data) $url = sprintf("%s?%s", $url, http_build_query($data)); } curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 1); // Use the below (CURLOPT_SSL_VERIFYPEER) in case of self signed certificate on the server // curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); $result = curl_exec($curl); $info = curl_getinfo($curl); $error = curl_errno($curl); curl_close($curl); return array( 'result' => $result, 'info' => $info, 'error' => $error, 'error_msg' => $curl_error_codes[$error], ); } //--------------------------------------------------------------------------------------------------------------------------------------------