11/25/2024 10:18:49

解决方案

MSDK 的网络库使用 libcurl 解决方案。在 SDK 返回的错误码中,如果 retcode 为 4 表示网络错误,需要根据 thirdcode 来判断网络错误的详细原因。以下是 CURL 的错误码。

错误码名称 对应错误码和解释
CURLE_OK 0
CURLE_UNSUPPORTED_PROTOCOL 1
CURLE_FAILED_INIT 2
CURLE_URL_MALFORMAT 3
CURLE_NOT_BUILT_IN 4 - [was obsoleted in August 2007 for 7.17.0, reused in April 2011 for 7.21.5]
CURLE_COULDNT_RESOLVE_PROXY 5
CURLE_COULDNT_RESOLVE_HOST 6
CURLE_COULDNT_CONNECT 7
CURLE_WEIRD_SERVER_REPLY 8
CURLE_REMOTE_ACCESS_DENIED 9 a service was denied by the server due to lack of access - when login fails this is not returned.
CURLE_FTP_ACCEPT_FAILED 10 - [was obsoleted in April 2006 for 7.15.4, reused in Dec 2011 for 7.24.0]
CURLE_FTP_WEIRD_PASS_REPLY 11
CURLE_FTP_ACCEPT_TIMEOUT 12 - timeout occurred accepting server [was obsoleted in August 2007 for 7.17.0, reused in Dec 2011 for 7.24.0]
CURLE_FTP_WEIRD_PASV_REPLY 13
CURLE_FTP_WEIRD_227_FORMAT 14
CURLE_FTP_CANT_GET_HOST 15
CURLE_HTTP2 16 - A problem in the http2 framing layer. [was obsoleted in August 2007 for 7.17.0, reused in July 2014 for 7.38.0]
CURLE_FTP_COULDNT_SET_TYPE 17
CURLE_PARTIAL_FILE 18
CURLE_FTP_COULDNT_RETR_FILE 19
CURLE_OBSOLETE20 20 - NOT USED
CURLE_QUOTE_ERROR 21 - quote command failure
CURLE_HTTP_RETURNED_ERROR 22
CURLE_WRITE_ERROR 23
CURLE_OBSOLETE24 24 - NOT USED
CURLE_UPLOAD_FAILED 25 - failed upload "command"
CURLE_READ_ERROR 26 - couldn't open/read from file
CURLE_OUT_OF_MEMORY 27 - CURLE_OUT_OF_MEMORY may sometimes indicate a conversion error instead of a memory allocation error if CURL_DOES_CONVERSIONS is defined
CURLE_OPERATION_TIMEDOUT 28 - the timeout time was reached
CURLE_OBSOLETE29 29 - NOT USED
CURLE_FTP_PORT_FAILED 30 - FTP PORT operation failed
CURLE_FTP_COULDNT_USE_REST 31 - the REST command failed
CURLE_OBSOLETE32 32 - NOT USED
CURLE_RANGE_ERROR 33 - RANGE "command" didn't work
CURLE_HTTP_POST_ERROR 34
CURLE_SSL_CONNECT_ERROR 35 - wrong when connecting with SSL
CURLE_BAD_DOWNLOAD_RESUME 36 - couldn't resume download
CURLE_FILE_COULDNT_READ_FILE 37
CURLE_LDAP_CANNOT_BIND 38
CURLE_LDAP_SEARCH_FAILED 39
CURLE_OBSOLETE40 40 - NOT USED
CURLE_FUNCTION_NOT_FOUND 41 - NOT USED starting with 7.53.0
CURLE_ABORTED_BY_CALLBACK 42
CURLE_BAD_FUNCTION_ARGUMENT 43
44 - NOT USED
CURLE_INTERFACE_FAILED 45 - CURLOPT_INTERFACE failed
CURLE_OBSOLETE46 46 - NOT USED
CURLE_TOO_MANY_REDIRECTS 47 - catch endless re-direct loops
CURLE_UNKNOWN_OPTION 48 - User specified an unknown option
CURLE_TELNET_OPTION_SYNTAX 49 - Malformed telnet option
CURLE_OBSOLETE50 50 - NOT USED
CURLE_PEER_FAILED_VERIFICATION 51 - peer's certificate or fingerprint wasn't verified fine
CURLE_GOT_NOTHING 52 - when this is a specific error
CURLE_SSL_ENGINE_NOTFOUND 53 - SSL crypto engine not found
CURLE_SSL_ENGINE_SETFAILED 54 - can not set SSL crypto engine as default
CURLE_SEND_ERROR 55 - failed sending network data
CURLE_RECV_ERROR 56 - failure in receiving network data
CURLE_OBSOLETE57 57 - NOT IN USE
CURLE_SSL_CERTPROBLEM 58 - problem with the local certificate
CURLE_SSL_CIPHER 59 - couldn't use specified cipher
CURLE_SSL_CACERT 60 - problem with the CA cert (path?)
CURLE_BAD_CONTENT_ENCODING 61 - Unrecognized/bad encoding
CURLE_LDAP_INVALID_URL 62 - Invalid LDAP URL
CURLE_FILESIZE_EXCEEDED 63 - Maximum file size exceeded
CURLE_USE_SSL_FAILED 64 - Requested FTP SSL level failed
CURLE_SEND_FAIL_REWIND 65 - Sending the data requires a rewind that failed
CURLE_SSL_ENGINE_INITFAILED 66 - failed to initialise ENGINE
CURLE_LOGIN_DENIED 67 - user, password or similar was not accepted and we failed to login
CURLE_TFTP_NOTFOUND 68 - file not found on server
CURLE_TFTP_PERM 69 - permission problem on server
CURLE_REMOTE_DISK_FULL 70 - out of disk space on server
CURLE_TFTP_ILLEGAL 71 - Illegal TFTP operation
CURLE_TFTP_UNKNOWNID 72 - Unknown transfer ID
CURLE_REMOTE_FILE_EXISTS 73 - File already exists
CURLE_TFTP_NOSUCHUSER 74 - No such user
CURLE_CONV_FAILED 75 - conversion failed
CURLE_CONV_REQD 76 - caller must register conversion callbacks using curl_easy_setopt options CURLOPT_CONV_FROM_NETWORK_FUNCTION, CURLOPT_CONV_TO_NETWORK_FUNCTION, and CURLOPT_CONV_FROM_UTF8_FUNCTION
CURLE_SSL_CACERT_BADFILE 77 - could not load CACERT file, missing or wrong format
CURLE_REMOTE_FILE_NOT_FOUND 78 - remote file not found
CURLE_SSH 79 - error from the SSH layer, somewhat generic so the error message will be of interest when this has happened
CURLE_SSL_SHUTDOWN_FAILED 80 - Failed to shut down the SSL connection
CURLE_AGAIN 81 - socket is not ready for send/recv, wait till it's ready and try again (Added in 7.18.2)
CURLE_SSL_CRL_BADFILE 82 - could not load CRL file, missing or wrong format (Added in 7.19.0)
CURLE_SSL_ISSUER_ERROR 83 - Issuer check failed. (Added in 7.19.0)
CURLE_FTP_PRET_FAILED 84 - a PRET command failed
CURLE_RTSP_CSEQ_ERROR 85 - mismatch of RTSP CSeq numbers
CURLE_RTSP_SESSION_ERROR 86 - mismatch of RTSP Session Ids
CURLE_FTP_BAD_FILE_LIST 87 - unable to parse FTP file list
CURLE_CHUNK_FAILED 88 - chunk callback reported error
CURLE_NO_CONNECTION_AVAILABLE 89 - No connection available, the session will be queued
CURLE_SSL_PINNEDPUBKEYNOTMATCH 90 - specified pinned public key did not match
CURLE_SSL_INVALIDCERTSTATUS 91 - invalid certificate status
CURLE_HTTP2_STREAM 92 - stream error in HTTP/2 framing layer
CURLE_RECURSIVE_API_CALL 93 - an api function was called from inside a callback
CURL_LAST never use!



Copyright © 2024 MSDK.
All rights reserved.

results matching ""

    No results matching ""