├── .gitignore
├── LICENSE.txt
├── README.md
├── docs
├── annotated.html
├── annotated.js
├── bc_s.png
├── bdwn.png
├── classes.html
├── classqcloudsms__csharp_1_1_file_voice_sender-members.html
├── classqcloudsms__csharp_1_1_file_voice_sender.html
├── classqcloudsms__csharp_1_1_file_voice_sender.js
├── classqcloudsms__csharp_1_1_file_voice_sender.png
├── classqcloudsms__csharp_1_1_file_voice_sender_result-members.html
├── classqcloudsms__csharp_1_1_file_voice_sender_result.html
├── classqcloudsms__csharp_1_1_file_voice_sender_result.js
├── classqcloudsms__csharp_1_1_file_voice_sender_result.png
├── classqcloudsms__csharp_1_1_sms_base-members.html
├── classqcloudsms__csharp_1_1_sms_base.html
├── classqcloudsms__csharp_1_1_sms_base.js
├── classqcloudsms__csharp_1_1_sms_base.png
├── classqcloudsms__csharp_1_1_sms_mobile_status_puller-members.html
├── classqcloudsms__csharp_1_1_sms_mobile_status_puller.html
├── classqcloudsms__csharp_1_1_sms_mobile_status_puller.js
├── classqcloudsms__csharp_1_1_sms_mobile_status_puller.png
├── classqcloudsms__csharp_1_1_sms_multi_sender-members.html
├── classqcloudsms__csharp_1_1_sms_multi_sender.html
├── classqcloudsms__csharp_1_1_sms_multi_sender.js
├── classqcloudsms__csharp_1_1_sms_multi_sender.png
├── classqcloudsms__csharp_1_1_sms_multi_sender_result-members.html
├── classqcloudsms__csharp_1_1_sms_multi_sender_result.html
├── classqcloudsms__csharp_1_1_sms_multi_sender_result.js
├── classqcloudsms__csharp_1_1_sms_multi_sender_result.png
├── classqcloudsms__csharp_1_1_sms_multi_sender_result_1_1_detail-members.html
├── classqcloudsms__csharp_1_1_sms_multi_sender_result_1_1_detail.html
├── classqcloudsms__csharp_1_1_sms_multi_sender_result_1_1_detail.js
├── classqcloudsms__csharp_1_1_sms_result_base-members.html
├── classqcloudsms__csharp_1_1_sms_result_base.html
├── classqcloudsms__csharp_1_1_sms_result_base.js
├── classqcloudsms__csharp_1_1_sms_result_base.png
├── classqcloudsms__csharp_1_1_sms_single_sender-members.html
├── classqcloudsms__csharp_1_1_sms_single_sender.html
├── classqcloudsms__csharp_1_1_sms_single_sender.js
├── classqcloudsms__csharp_1_1_sms_single_sender.png
├── classqcloudsms__csharp_1_1_sms_single_sender_result-members.html
├── classqcloudsms__csharp_1_1_sms_single_sender_result.html
├── classqcloudsms__csharp_1_1_sms_single_sender_result.js
├── classqcloudsms__csharp_1_1_sms_single_sender_result.png
├── classqcloudsms__csharp_1_1_sms_status_pull_callback_result-members.html
├── classqcloudsms__csharp_1_1_sms_status_pull_callback_result.html
├── classqcloudsms__csharp_1_1_sms_status_pull_callback_result.js
├── classqcloudsms__csharp_1_1_sms_status_pull_callback_result.png
├── classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback-members.html
├── classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback.html
├── classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback.js
├── classqcloudsms__csharp_1_1_sms_status_pull_reply_result-members.html
├── classqcloudsms__csharp_1_1_sms_status_pull_reply_result.html
├── classqcloudsms__csharp_1_1_sms_status_pull_reply_result.js
├── classqcloudsms__csharp_1_1_sms_status_pull_reply_result.png
├── classqcloudsms__csharp_1_1_sms_status_pull_reply_result_1_1_reply-members.html
├── classqcloudsms__csharp_1_1_sms_status_pull_reply_result_1_1_reply.html
├── classqcloudsms__csharp_1_1_sms_status_pull_reply_result_1_1_reply.js
├── classqcloudsms__csharp_1_1_sms_status_puller-members.html
├── classqcloudsms__csharp_1_1_sms_status_puller.html
├── classqcloudsms__csharp_1_1_sms_status_puller.js
├── classqcloudsms__csharp_1_1_sms_status_puller.png
├── classqcloudsms__csharp_1_1_sms_voice_prompt_sender-members.html
├── classqcloudsms__csharp_1_1_sms_voice_prompt_sender.html
├── classqcloudsms__csharp_1_1_sms_voice_prompt_sender.js
├── classqcloudsms__csharp_1_1_sms_voice_prompt_sender.png
├── classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result-members.html
├── classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result.html
├── classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result.js
├── classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result.png
├── classqcloudsms__csharp_1_1_sms_voice_verify_code_sender-members.html
├── classqcloudsms__csharp_1_1_sms_voice_verify_code_sender.html
├── classqcloudsms__csharp_1_1_sms_voice_verify_code_sender.js
├── classqcloudsms__csharp_1_1_sms_voice_verify_code_sender.png
├── classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result-members.html
├── classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result.html
├── classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result.js
├── classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result.png
├── classqcloudsms__csharp_1_1_tts_voice_sender-members.html
├── classqcloudsms__csharp_1_1_tts_voice_sender.html
├── classqcloudsms__csharp_1_1_tts_voice_sender.js
├── classqcloudsms__csharp_1_1_tts_voice_sender.png
├── classqcloudsms__csharp_1_1_tts_voice_sender_result-members.html
├── classqcloudsms__csharp_1_1_tts_voice_sender_result.html
├── classqcloudsms__csharp_1_1_tts_voice_sender_result.js
├── classqcloudsms__csharp_1_1_tts_voice_sender_result.png
├── classqcloudsms__csharp_1_1_voice_file_uploader-members.html
├── classqcloudsms__csharp_1_1_voice_file_uploader.html
├── classqcloudsms__csharp_1_1_voice_file_uploader.js
├── classqcloudsms__csharp_1_1_voice_file_uploader.png
├── classqcloudsms__csharp_1_1_voice_file_uploader_result-members.html
├── classqcloudsms__csharp_1_1_voice_file_uploader_result.html
├── classqcloudsms__csharp_1_1_voice_file_uploader_result.js
├── classqcloudsms__csharp_1_1_voice_file_uploader_result.png
├── classqcloudsms__csharp_1_1httpclient_1_1_default_h_t_t_p_client-members.html
├── classqcloudsms__csharp_1_1httpclient_1_1_default_h_t_t_p_client.html
├── classqcloudsms__csharp_1_1httpclient_1_1_default_h_t_t_p_client.js
├── classqcloudsms__csharp_1_1httpclient_1_1_default_h_t_t_p_client.png
├── classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_exception-members.html
├── classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_exception.html
├── classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_exception.js
├── classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_exception.png
├── classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request-members.html
├── classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html
├── classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.js
├── classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response-members.html
├── classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html
├── classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.js
├── classqcloudsms__csharp_1_1httpclient_1_1_pooling_h_t_t_p_client-members.html
├── classqcloudsms__csharp_1_1httpclient_1_1_pooling_h_t_t_p_client.html
├── classqcloudsms__csharp_1_1httpclient_1_1_pooling_h_t_t_p_client.js
├── classqcloudsms__csharp_1_1httpclient_1_1_pooling_h_t_t_p_client.png
├── classqcloudsms__csharp_1_1json_1_1_j_s_o_n_array_builder-members.html
├── classqcloudsms__csharp_1_1json_1_1_j_s_o_n_array_builder.html
├── classqcloudsms__csharp_1_1json_1_1_j_s_o_n_array_builder.js
├── classqcloudsms__csharp_1_1json_1_1_j_s_o_n_exception-members.html
├── classqcloudsms__csharp_1_1json_1_1_j_s_o_n_exception.html
├── classqcloudsms__csharp_1_1json_1_1_j_s_o_n_exception.js
├── classqcloudsms__csharp_1_1json_1_1_j_s_o_n_exception.png
├── classqcloudsms__csharp_1_1json_1_1_j_s_o_n_object_builder-members.html
├── classqcloudsms__csharp_1_1json_1_1_j_s_o_n_object_builder.html
├── classqcloudsms__csharp_1_1json_1_1_j_s_o_n_object_builder.js
├── closed.png
├── dir_68267d1309a1af8e8297ef4c3efbcdba.html
├── dir_cc363f7f57394395bd88e148f34f9d1a.html
├── dir_da4c9dd239018fe26269ba2e1cf7c9a1.html
├── doxygen.css
├── doxygen.png
├── dynsections.js
├── ftv2blank.png
├── ftv2cl.png
├── ftv2doc.png
├── ftv2folderclosed.png
├── ftv2folderopen.png
├── ftv2lastnode.png
├── ftv2link.png
├── ftv2mlastnode.png
├── ftv2mnode.png
├── ftv2mo.png
├── ftv2node.png
├── ftv2ns.png
├── ftv2plastnode.png
├── ftv2pnode.png
├── ftv2splitbar.png
├── ftv2vertline.png
├── functions.html
├── functions_func.html
├── hierarchy.html
├── hierarchy.js
├── index.html
├── installdox
├── interfaceqcloudsms__csharp_1_1httpclient_1_1_i_h_t_t_p_client-members.html
├── interfaceqcloudsms__csharp_1_1httpclient_1_1_i_h_t_t_p_client.html
├── interfaceqcloudsms__csharp_1_1httpclient_1_1_i_h_t_t_p_client.js
├── interfaceqcloudsms__csharp_1_1httpclient_1_1_i_h_t_t_p_client.png
├── jquery.js
├── main.html
├── namespaceqcloudsms__csharp.html
├── namespaceqcloudsms__csharp.js
├── namespaceqcloudsms__csharp_1_1httpclient.html
├── namespaceqcloudsms__csharp_1_1httpclient.js
├── namespaceqcloudsms__csharp_1_1json.html
├── namespaceqcloudsms__csharp_1_1json.js
├── namespaces.html
├── namespaces.js
├── nav_f.png
├── nav_g.png
├── nav_h.png
├── navtree.css
├── navtree.js
├── navtreeindex0.js
├── open.png
├── resize.js
├── search
│ ├── all_63.html
│ ├── all_63.js
│ ├── all_64.html
│ ├── all_64.js
│ ├── all_66.html
│ ├── all_66.js
│ ├── all_67.html
│ ├── all_67.js
│ ├── all_68.html
│ ├── all_68.js
│ ├── all_69.html
│ ├── all_69.js
│ ├── all_6a.html
│ ├── all_6a.js
│ ├── all_70.html
│ ├── all_70.js
│ ├── all_71.html
│ ├── all_71.js
│ ├── all_72.html
│ ├── all_72.js
│ ├── all_73.html
│ ├── all_73.js
│ ├── all_74.html
│ ├── all_74.js
│ ├── all_75.html
│ ├── all_75.js
│ ├── all_76.html
│ ├── all_76.js
│ ├── classes_63.html
│ ├── classes_63.js
│ ├── classes_64.html
│ ├── classes_64.js
│ ├── classes_66.html
│ ├── classes_66.js
│ ├── classes_68.html
│ ├── classes_68.js
│ ├── classes_69.html
│ ├── classes_69.js
│ ├── classes_6a.html
│ ├── classes_6a.js
│ ├── classes_70.html
│ ├── classes_70.js
│ ├── classes_72.html
│ ├── classes_72.js
│ ├── classes_73.html
│ ├── classes_73.js
│ ├── classes_74.html
│ ├── classes_74.js
│ ├── classes_76.html
│ ├── classes_76.js
│ ├── close.png
│ ├── functions_67.html
│ ├── functions_67.js
│ ├── functions_68.html
│ ├── functions_68.js
│ ├── functions_70.html
│ ├── functions_70.js
│ ├── functions_73.html
│ ├── functions_73.js
│ ├── functions_75.html
│ ├── functions_75.js
│ ├── mag_sel.png
│ ├── namespaces_71.html
│ ├── namespaces_71.js
│ ├── nomatches.html
│ ├── search.css
│ ├── search.js
│ ├── search.png
│ ├── search_l.png
│ ├── search_m.png
│ └── search_r.png
├── sync_off.png
├── sync_on.png
├── tab_a.png
├── tab_b.gif
├── tab_b.png
├── tab_h.png
├── tab_l.gif
├── tab_r.gif
├── tab_s.png
├── tabs.css
└── tree.html
├── doxygen.conf
├── gendoc.sh
├── qcloudsms_csharp.csproj
├── qcloudsms_csharp.nuspec
└── src
├── FileVoiceSender.cs
├── FileVoiceSenderResult.cs
├── SmsBase.cs
├── SmsMobileStatusPuller.cs
├── SmsMultiSender.cs
├── SmsMultiSenderResult.cs
├── SmsResultBase.cs
├── SmsSenderUtil.cs
├── SmsSingleSender.cs
├── SmsSingleSenderResult.cs
├── SmsStatusPullCallbackResult.cs
├── SmsStatusPullReplyResult.cs
├── SmsStatusPuller.cs
├── SmsVoicePromptSender.cs
├── SmsVoicePromptSenderResult.cs
├── SmsVoiceVerifyCodeSender.cs
├── SmsVoiceVerifyCodeSenderResult.cs
├── TtsVoiceSender.cs
├── TtsVoiceSenderResult.cs
├── VoiceFileUploader.cs
├── VoiceFileUploaderResult.cs
├── httpclient
├── DefaultHTTPClient.cs
├── HTTPException.cs
├── HTTPMethod.cs
├── HTTPRequest.cs
├── HTTPResponse.cs
├── IHTTPClient.cs
└── PoolingHTTPClient.cs
└── json
├── JSONException.cs
└── JSONObject.cs
/.gitignore:
--------------------------------------------------------------------------------
1 | [Bb]in/
2 | [Oo]bj/
3 | Build/
4 | .vs/
5 | *.lock.json
6 | *.nuget.props
7 | *.nuget.targets
8 | *.orig
9 | .vscode
10 | .DS_Store
11 |
--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 qcloudsms
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/docs/annotated.js:
--------------------------------------------------------------------------------
1 | var annotated =
2 | [
3 | [ "qcloudsms_csharp", "namespaceqcloudsms__csharp.html", "namespaceqcloudsms__csharp" ]
4 | ];
--------------------------------------------------------------------------------
/docs/bc_s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/bc_s.png
--------------------------------------------------------------------------------
/docs/bdwn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/bdwn.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_file_voice_sender.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_file_voice_sender =
2 | [
3 | [ "FileVoiceSender", "classqcloudsms__csharp_1_1_file_voice_sender.html#a3ca961b788356e3e3d0a09b46f8856f9", null ],
4 | [ "FileVoiceSender", "classqcloudsms__csharp_1_1_file_voice_sender.html#a1ab4d5e79123ec55306c4cdde62cc5cf", null ],
5 | [ "send", "classqcloudsms__csharp_1_1_file_voice_sender.html#a1a595bf3942356bef59a4f3f60f36365", null ]
6 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_file_voice_sender.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_file_voice_sender.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_file_voice_sender_result.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_file_voice_sender_result =
2 | [
3 | [ "FileVoiceSenderResult", "classqcloudsms__csharp_1_1_file_voice_sender_result.html#a6014fc239b4ca57add0044608bcda867", null ],
4 | [ "parseFromHTTPResponse", "classqcloudsms__csharp_1_1_file_voice_sender_result.html#acd9426edc2779dfb2307d663220694e5", null ],
5 | [ "callid", "classqcloudsms__csharp_1_1_file_voice_sender_result.html#a7db0fa243e2c95c63856e5fc57fd6a64", null ],
6 | [ "errMsg", "classqcloudsms__csharp_1_1_file_voice_sender_result.html#ad67f499605ca800c82726560ebacaf7d", null ],
7 | [ "ext", "classqcloudsms__csharp_1_1_file_voice_sender_result.html#ada1544117b76fd14d0464d405801d2f3", null ],
8 | [ "result", "classqcloudsms__csharp_1_1_file_voice_sender_result.html#adeb8b2aa2f25a0c2e596cfc7cf1db0ca", null ]
9 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_file_voice_sender_result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_file_voice_sender_result.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_base.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_sms_base =
2 | [
3 | [ "SmsBase", "classqcloudsms__csharp_1_1_sms_base.html#a3b66561378d37618c7a99a914ca27cbe", null ],
4 | [ "handleError", "classqcloudsms__csharp_1_1_sms_base.html#a4429d661fb8b3a029a96b9cb45cd13d9", null ],
5 | [ "appid", "classqcloudsms__csharp_1_1_sms_base.html#aa4c8157d0fc07a15edb0f07069fdb405", null ],
6 | [ "appkey", "classqcloudsms__csharp_1_1_sms_base.html#aca4af3764247ad218b3012cdf51083d6", null ],
7 | [ "httpclient", "classqcloudsms__csharp_1_1_sms_base.html#addee9300ba6a46b50546220f3d61b479", null ]
8 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_base.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_sms_base.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_mobile_status_puller.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_sms_mobile_status_puller =
2 | [
3 | [ "SmsMobileStatusPuller", "classqcloudsms__csharp_1_1_sms_mobile_status_puller.html#a882430ef519cbdf19ffb0096c318b9b6", null ],
4 | [ "SmsMobileStatusPuller", "classqcloudsms__csharp_1_1_sms_mobile_status_puller.html#a63f229e41a8f8dd203563c40d2505b11", null ],
5 | [ "pullCallback", "classqcloudsms__csharp_1_1_sms_mobile_status_puller.html#a31e3ea54bca7a25496b7a1108bea5c72", null ],
6 | [ "pullReply", "classqcloudsms__csharp_1_1_sms_mobile_status_puller.html#a01432512d23a8dcbd0d30a90c51d3bc6", null ]
7 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_mobile_status_puller.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_sms_mobile_status_puller.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_multi_sender.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_sms_multi_sender =
2 | [
3 | [ "SmsMultiSender", "classqcloudsms__csharp_1_1_sms_multi_sender.html#a67468221801c3d5dd7303a7847f59c60", null ],
4 | [ "SmsMultiSender", "classqcloudsms__csharp_1_1_sms_multi_sender.html#a9cee5e22bd30759c8dfe6241dd1ca81d", null ],
5 | [ "send", "classqcloudsms__csharp_1_1_sms_multi_sender.html#a804ff6499a68488a468edbe7b3bd9892", null ],
6 | [ "send", "classqcloudsms__csharp_1_1_sms_multi_sender.html#a59178a59908cec9d99350809bdcc34b6", null ],
7 | [ "sendWithParam", "classqcloudsms__csharp_1_1_sms_multi_sender.html#a784ed4935818efbc52c699440964ffde", null ],
8 | [ "sendWithParam", "classqcloudsms__csharp_1_1_sms_multi_sender.html#a49c7bcf9d67d4bb20cae30781c23fb99", null ]
9 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_multi_sender.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_sms_multi_sender.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_multi_sender_result.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_sms_multi_sender_result =
2 | [
3 | [ "Detail", "classqcloudsms__csharp_1_1_sms_multi_sender_result_1_1_detail.html", "classqcloudsms__csharp_1_1_sms_multi_sender_result_1_1_detail" ],
4 | [ "SmsMultiSenderResult", "classqcloudsms__csharp_1_1_sms_multi_sender_result.html#a17d2f95bf9f8709393544260ad82ab67", null ],
5 | [ "parseFromHTTPResponse", "classqcloudsms__csharp_1_1_sms_multi_sender_result.html#a649f621be3634acd6cafbba9fe9564e0", null ],
6 | [ "details", "classqcloudsms__csharp_1_1_sms_multi_sender_result.html#a356edb140f9b6bce6da7dd9dfdda68fa", null ],
7 | [ "errMsg", "classqcloudsms__csharp_1_1_sms_multi_sender_result.html#a46f8bd75ec7986a6098aabda342635d4", null ],
8 | [ "ext", "classqcloudsms__csharp_1_1_sms_multi_sender_result.html#a9499a8751d7b52253f2258f05d092c0f", null ],
9 | [ "result", "classqcloudsms__csharp_1_1_sms_multi_sender_result.html#a4675922326d5a605bf206aca4f63ea9a", null ]
10 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_multi_sender_result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_sms_multi_sender_result.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_multi_sender_result_1_1_detail.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_sms_multi_sender_result_1_1_detail =
2 | [
3 | [ "parse", "classqcloudsms__csharp_1_1_sms_multi_sender_result_1_1_detail.html#a14db6cb9c8838446b4d266e53dc99b02", null ],
4 | [ "ToString", "classqcloudsms__csharp_1_1_sms_multi_sender_result_1_1_detail.html#a3c2c76db48847f2417a8df415aa7d522", null ],
5 | [ "errmsg", "classqcloudsms__csharp_1_1_sms_multi_sender_result_1_1_detail.html#a228eefd0f51a9fbe6542e46f4ee6e4cc", null ],
6 | [ "fee", "classqcloudsms__csharp_1_1_sms_multi_sender_result_1_1_detail.html#afe2af35d228fb9ad0cc1d225939d69d8", null ],
7 | [ "mobile", "classqcloudsms__csharp_1_1_sms_multi_sender_result_1_1_detail.html#a04c947d294da05ebbc3d1e3a644d922e", null ],
8 | [ "nationcode", "classqcloudsms__csharp_1_1_sms_multi_sender_result_1_1_detail.html#a250a8d8313a06ee02cef635277b3c245", null ],
9 | [ "result", "classqcloudsms__csharp_1_1_sms_multi_sender_result_1_1_detail.html#a441d34fa7a4619f802a0bd452d225a33", null ],
10 | [ "sid", "classqcloudsms__csharp_1_1_sms_multi_sender_result_1_1_detail.html#a9da078d4a9c5929a9cbb4b68a99efba0", null ]
11 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_result_base.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_sms_result_base =
2 | [
3 | [ "getResponse", "classqcloudsms__csharp_1_1_sms_result_base.html#ad815a42e08a2d0040a916c3100d33f18", null ],
4 | [ "parseFromHTTPResponse", "classqcloudsms__csharp_1_1_sms_result_base.html#a547e8f85b93d11c74cf6056e561b8255", null ],
5 | [ "parseToJson", "classqcloudsms__csharp_1_1_sms_result_base.html#a5936f24aee00b69a7f462ce131620f7d", null ],
6 | [ "ToString", "classqcloudsms__csharp_1_1_sms_result_base.html#afc7ba3fd7458b0968fad1424a571f253", null ],
7 | [ "response", "classqcloudsms__csharp_1_1_sms_result_base.html#adc8fe10c72bcf7f36b352984393b6d8b", null ]
8 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_result_base.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_sms_result_base.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_single_sender.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_sms_single_sender =
2 | [
3 | [ "SmsSingleSender", "classqcloudsms__csharp_1_1_sms_single_sender.html#a9bf83fa3b1324222e689aeba2047e48b", null ],
4 | [ "SmsSingleSender", "classqcloudsms__csharp_1_1_sms_single_sender.html#aff1f1b6495da28bac48d69c28a6e8beb", null ],
5 | [ "send", "classqcloudsms__csharp_1_1_sms_single_sender.html#a78fe589301a98304d800f5ca58941bf1", null ],
6 | [ "sendWithParam", "classqcloudsms__csharp_1_1_sms_single_sender.html#a647e118ab72bd7de3d3f46d538b580ab", null ]
7 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_single_sender.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_sms_single_sender.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_single_sender_result.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_sms_single_sender_result =
2 | [
3 | [ "SmsSingleSenderResult", "classqcloudsms__csharp_1_1_sms_single_sender_result.html#a4d178558fe28b7a534d5539146270fb2", null ],
4 | [ "parseFromHTTPResponse", "classqcloudsms__csharp_1_1_sms_single_sender_result.html#a017852f3e7f3768dc11b5888d702ca88", null ],
5 | [ "errMsg", "classqcloudsms__csharp_1_1_sms_single_sender_result.html#a309625a1f88911adc5589194306ed32e", null ],
6 | [ "ext", "classqcloudsms__csharp_1_1_sms_single_sender_result.html#ad8e02c255c461c8b383bc6d197b86a25", null ],
7 | [ "fee", "classqcloudsms__csharp_1_1_sms_single_sender_result.html#aa2d692b6b9c814946780c70c52dc5c79", null ],
8 | [ "result", "classqcloudsms__csharp_1_1_sms_single_sender_result.html#a7e8007d18fd390b6b2c68f1e342eb8ac", null ],
9 | [ "sid", "classqcloudsms__csharp_1_1_sms_single_sender_result.html#afad130ebf6251c06d9927609775d5767", null ]
10 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_single_sender_result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_sms_single_sender_result.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_status_pull_callback_result.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_sms_status_pull_callback_result =
2 | [
3 | [ "Callback", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback.html", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback" ],
4 | [ "SmsStatusPullCallbackResult", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result.html#aedb50717bc0b15fb90cb58259824bc7f", null ],
5 | [ "parseFromHTTPResponse", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result.html#aa0b985a9043e578db2fa2188d52b1d45", null ],
6 | [ "callbacks", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result.html#a52c123e2345fea495125cf72ea68721f", null ],
7 | [ "count", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result.html#ad373553e80efa4d5e187a1bd8d673119", null ],
8 | [ "errMsg", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result.html#ace879aa11c264f5982a020f496d5ea32", null ],
9 | [ "result", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result.html#a1b0377cc916c80bb90eb19c71a8805ed", null ]
10 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_status_pull_callback_result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_sms_status_pull_callback_result.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback =
2 | [
3 | [ "parse", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback.html#a608f454d25333afe02dcfcbf273e0169", null ],
4 | [ "ToString", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback.html#a9755ae4245c9f5dea7bd218471d89b17", null ],
5 | [ "description", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback.html#aebf0ccbc0dd41bbefee2c52abdc01808", null ],
6 | [ "errmsg", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback.html#aa7b7080ce22cdeb054f49a12824174eb", null ],
7 | [ "mobile", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback.html#a7fee8d1c3be7f5318819aec8dabdc13a", null ],
8 | [ "nationcode", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback.html#acb28a3eee78fb6faa61dc05761600780", null ],
9 | [ "report_status", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback.html#a1a322309a0b704bf6831f6e690796a31", null ],
10 | [ "sid", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback.html#ac5baf9d40d9efbc3c9ee5589fbcb65b1", null ],
11 | [ "user_receive_time", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback.html#ad61bbecc46856ca580771809ab5b1110", null ]
12 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_status_pull_reply_result.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_sms_status_pull_reply_result =
2 | [
3 | [ "Reply", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result_1_1_reply.html", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result_1_1_reply" ],
4 | [ "SmsStatusPullReplyResult", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result.html#a122f6181bfdb89aea38fbece22059135", null ],
5 | [ "parseFromHTTPResponse", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result.html#a09d112933d2b97ebc65ccbfde5e0a20b", null ],
6 | [ "count", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result.html#a34049b40a49560e233fe8816a6f9c6ba", null ],
7 | [ "errMsg", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result.html#a7ce21cf0b89c201a5c31ab25d5b36317", null ],
8 | [ "replys", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result.html#afb05364b3750327d24562b4cb322cf32", null ],
9 | [ "result", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result.html#a7a55e8b9598ea197399f92c45ae4cfaa", null ]
10 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_status_pull_reply_result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_sms_status_pull_reply_result.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_status_pull_reply_result_1_1_reply.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_sms_status_pull_reply_result_1_1_reply =
2 | [
3 | [ "parse", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result_1_1_reply.html#ad7769c09ffa831138cd5387dbc0a3b9f", null ],
4 | [ "ToString", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result_1_1_reply.html#a37926afa6bc6679ad981f15a04c2367a", null ],
5 | [ "extend", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result_1_1_reply.html#a961e54ebdd09a7e61cebcc02c2e98856", null ],
6 | [ "mobile", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result_1_1_reply.html#a6c3b707b4287743062f4df88e67b76b8", null ],
7 | [ "nationcode", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result_1_1_reply.html#ab6c71bfdd6bd48a6adea4d2562dfab6f", null ],
8 | [ "sign", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result_1_1_reply.html#ab20b488cfeb1817e569d72affa7f8c9b", null ],
9 | [ "text", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result_1_1_reply.html#ac15de8e098a62fc18cf0492cbe701e79", null ],
10 | [ "time", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result_1_1_reply.html#a34bf64e687ff42433aa72ed87460fbd2", null ]
11 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_status_puller.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_sms_status_puller =
2 | [
3 | [ "SmsStatusPuller", "classqcloudsms__csharp_1_1_sms_status_puller.html#a87a931cf10b1da43aec90e4f1e5879e5", null ],
4 | [ "SmsStatusPuller", "classqcloudsms__csharp_1_1_sms_status_puller.html#a67a437cfda6d68387ee161994bd39aa6", null ],
5 | [ "pullCallback", "classqcloudsms__csharp_1_1_sms_status_puller.html#a48530deaa1a8c6583998b91ca863cd3d", null ],
6 | [ "pullReply", "classqcloudsms__csharp_1_1_sms_status_puller.html#aa8e8b72b82f11d302ab976d7da5e2861", null ]
7 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_status_puller.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_sms_status_puller.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_voice_prompt_sender.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_sms_voice_prompt_sender =
2 | [
3 | [ "SmsVoicePromptSender", "classqcloudsms__csharp_1_1_sms_voice_prompt_sender.html#a8a695ed096ac6f1609f1f55ded9458b7", null ],
4 | [ "SmsVoicePromptSender", "classqcloudsms__csharp_1_1_sms_voice_prompt_sender.html#a280d24b3df11c706b42e7880eb311ab8", null ],
5 | [ "send", "classqcloudsms__csharp_1_1_sms_voice_prompt_sender.html#aa244a712782437caea9b0325d83cf8bf", null ]
6 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_voice_prompt_sender.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_sms_voice_prompt_sender.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result =
2 | [
3 | [ "SmsVoicePromptSenderResult", "classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result.html#a3dfbb0b51b779202d5a6403006415837", null ],
4 | [ "parseFromHTTPResponse", "classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result.html#a10825b6de39a071c5a27b2a5c6eebb4b", null ],
5 | [ "callid", "classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result.html#a2b8aeeb225f466f6fa98ffa84f7b31fa", null ],
6 | [ "errMsg", "classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result.html#a83e45a7ed9110251aff2b0dca79321a7", null ],
7 | [ "ext", "classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result.html#ab4ef903df44b3512c66ae1fbcb153f08", null ],
8 | [ "result", "classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result.html#aeeecadff52a4c9a9a8dfc3937f06cfc3", null ]
9 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_voice_verify_code_sender.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_sms_voice_verify_code_sender =
2 | [
3 | [ "SmsVoiceVerifyCodeSender", "classqcloudsms__csharp_1_1_sms_voice_verify_code_sender.html#a2248d41d734142a52c909a45a72c3553", null ],
4 | [ "SmsVoiceVerifyCodeSender", "classqcloudsms__csharp_1_1_sms_voice_verify_code_sender.html#a33d072bb019ace3a8d6f0b6e01ee2ff3", null ],
5 | [ "send", "classqcloudsms__csharp_1_1_sms_voice_verify_code_sender.html#a991e696ba1fcd6be4a4f327b6aacb59d", null ]
6 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_voice_verify_code_sender.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_sms_voice_verify_code_sender.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result =
2 | [
3 | [ "SmsVoiceVerifyCodeSenderResult", "classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result.html#af308851c177145b91a28c92e1c3095dc", null ],
4 | [ "parseFromHTTPResponse", "classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result.html#a362587b86ba8aea8728eabdac503f385", null ],
5 | [ "callid", "classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result.html#a610edf89b63d981dc13bf4f11439919b", null ],
6 | [ "errMsg", "classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result.html#aec8575d478453d622d9d7ff1f513c851", null ],
7 | [ "ext", "classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result.html#a7158fb3ae1043ce5d55a5c9760c12c29", null ],
8 | [ "result", "classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result.html#a45fad0cf99108c98225795d547b1d3f7", null ]
9 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_tts_voice_sender.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_tts_voice_sender =
2 | [
3 | [ "TtsVoiceSender", "classqcloudsms__csharp_1_1_tts_voice_sender.html#aeb7ac50adf81a3a77873b9ca6a8641af", null ],
4 | [ "TtsVoiceSender", "classqcloudsms__csharp_1_1_tts_voice_sender.html#a2425a439ded9a236d875edd60e4b1c06", null ],
5 | [ "send", "classqcloudsms__csharp_1_1_tts_voice_sender.html#acf9863ffcae675eec1fe12ac4ed516d2", null ]
6 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_tts_voice_sender.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_tts_voice_sender.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_tts_voice_sender_result.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_tts_voice_sender_result =
2 | [
3 | [ "TtsVoiceSenderResult", "classqcloudsms__csharp_1_1_tts_voice_sender_result.html#a16489c5ec054cceb395eaa16defc402e", null ],
4 | [ "parseFromHTTPResponse", "classqcloudsms__csharp_1_1_tts_voice_sender_result.html#afc6ace2efa12fde819657dba4142c40f", null ],
5 | [ "callid", "classqcloudsms__csharp_1_1_tts_voice_sender_result.html#a5c2233a66d734479a76745d0497857c0", null ],
6 | [ "errMsg", "classqcloudsms__csharp_1_1_tts_voice_sender_result.html#a15a37ea2159edbb50189db394e6364cd", null ],
7 | [ "ext", "classqcloudsms__csharp_1_1_tts_voice_sender_result.html#a177ba3c99caf6218b053948c35a1aa75", null ],
8 | [ "result", "classqcloudsms__csharp_1_1_tts_voice_sender_result.html#a30ccd723420a225b80e267821d3fdb68", null ]
9 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_tts_voice_sender_result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_tts_voice_sender_result.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_voice_file_uploader.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_voice_file_uploader =
2 | [
3 | [ "ContentType", "classqcloudsms__csharp_1_1_voice_file_uploader.html#a237110ec854892426c0f2fac6441cdbd", [
4 | [ "WAV", "classqcloudsms__csharp_1_1_voice_file_uploader.html#a237110ec854892426c0f2fac6441cdbda76bae86742a2ec93bb56ae064ce7bd54", null ],
5 | [ "MP3", "classqcloudsms__csharp_1_1_voice_file_uploader.html#a237110ec854892426c0f2fac6441cdbda27bcd310c52f6445cf4b93b90f52f5ef", null ]
6 | ] ],
7 | [ "VoiceFileUploader", "classqcloudsms__csharp_1_1_voice_file_uploader.html#a09513fcf585857ac6633b6c764d102a4", null ],
8 | [ "VoiceFileUploader", "classqcloudsms__csharp_1_1_voice_file_uploader.html#ab05004adebd13c066bb90d25cd2bac96", null ],
9 | [ "upload", "classqcloudsms__csharp_1_1_voice_file_uploader.html#a7d96eef54e4bc2576fcf88b473f04693", null ]
10 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_voice_file_uploader.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_voice_file_uploader.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_voice_file_uploader_result.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1_voice_file_uploader_result =
2 | [
3 | [ "VoiceFileUploaderResult", "classqcloudsms__csharp_1_1_voice_file_uploader_result.html#ac97a4b3d660a77b215bf88be05dd5a96", null ],
4 | [ "parseFromHTTPResponse", "classqcloudsms__csharp_1_1_voice_file_uploader_result.html#a3e56b8698282083d851324bbad929c74", null ],
5 | [ "errMsg", "classqcloudsms__csharp_1_1_voice_file_uploader_result.html#a32932676e34d58d70fba5045b2324810", null ],
6 | [ "fid", "classqcloudsms__csharp_1_1_voice_file_uploader_result.html#acc9b65edc2fe9b7a2d6ec00c5ce6cd15", null ],
7 | [ "result", "classqcloudsms__csharp_1_1_voice_file_uploader_result.html#ad291b7d0833179abd9305440fa9b839a", null ]
8 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1_voice_file_uploader_result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1_voice_file_uploader_result.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1httpclient_1_1_default_h_t_t_p_client.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1httpclient_1_1_default_h_t_t_p_client =
2 | [
3 | [ "close", "classqcloudsms__csharp_1_1httpclient_1_1_default_h_t_t_p_client.html#a41b8b3130c2bcb0ca1df71672f72122f", null ],
4 | [ "fetch", "classqcloudsms__csharp_1_1httpclient_1_1_default_h_t_t_p_client.html#aff9f2dab1dab5413f0031a22efc2278e", null ]
5 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1httpclient_1_1_default_h_t_t_p_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1httpclient_1_1_default_h_t_t_p_client.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_exception.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_exception =
2 | [
3 | [ "HTTPException", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_exception.html#a014b043fbe7644c09c724c8372829d7f", null ],
4 | [ "getReason", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_exception.html#a30582e53a2a45c4df4398260fa0319a4", null ],
5 | [ "getStatusCode", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_exception.html#a2d060692add49a459a77f936922a1670", null ],
6 | [ "ToString", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_exception.html#a39c85a7a582166538b5730ef25d1eb9b", null ]
7 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_exception.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_exception.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request =
2 | [
3 | [ "HTTPRequest", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#ad025a6fe55991c986c64f84166ac1eaf", null ],
4 | [ "addHeader", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#a85d900a766192884575fd030cae5b9e0", null ],
5 | [ "addQueryParameter", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#a9ca5ac21eb683049de6edf41bd487a8e", null ],
6 | [ "addQueryParameter", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#a5b15b7b953df14083c29d670d8ab9ed0", null ],
7 | [ "addQueryParameter", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#a4d826707a1ea93a002bc76a6ca44c74f", null ],
8 | [ "setBody", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#a637579c57de5ee03240287458a746c65", null ],
9 | [ "setBodyEncoding", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#a75976030d2c77a9f0876043bcbb47d7d", null ],
10 | [ "setConnectionTimeout", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#a17a864bc7fa11ab58ce4de565d6d221c", null ],
11 | [ "setRequestTimeout", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#a7937df7f0c628e3aacc4c378ada069f3", null ],
12 | [ "ToString", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#adecb5795db625ecca9b77e9f7168c161", null ],
13 | [ "body", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#a20f1b33c1ecb9d8693da5e81fce70c0d", null ],
14 | [ "bodyEncoding", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#a6215d536b91dfef19e3554fdd05e60f2", null ],
15 | [ "connectTimeout", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#a83b0f825c8ff95ebaed8ba7d44970bbc", null ],
16 | [ "headers", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#acbf1d0b1f6ee07febd93914272abd80e", null ],
17 | [ "parameters", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#a9230cd5db7379fcc5c55f45ffa7e9b3b", null ],
18 | [ "requestTimeout", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#aad49baf04b2738a0c7f309a7c23d9668", null ],
19 | [ "method", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#a2b201c474efa28fbe56c0b017233e564", null ],
20 | [ "url", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html#a87718848816b6ca37e8d36141e672368", null ]
21 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response =
2 | [
3 | [ "HTTPResponse", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html#aa5f2eda97282eeea39cfbca00063f03c", null ],
4 | [ "HTTPResponse", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html#aaea7201f4ec18132c4ccaa7d75869529", null ],
5 | [ "HTTPResponse", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html#a3342de4c786ea8d7adcec36ade492bd1", null ],
6 | [ "HTTPResponse", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html#a0b575c9c8a60dea1028e73d37dba5baa", null ],
7 | [ "addHeader", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html#aaac1dffdb08aeefcb466313f2db8ed2e", null ],
8 | [ "setBody", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html#a01fa30fab827d3f7b3c65b597c4912d4", null ],
9 | [ "setReason", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html#a71f1ed7cda42c4895062434d7848fb0b", null ],
10 | [ "setRequest", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html#af8fd6ae9388ebf22557531aa423e9f1b", null ],
11 | [ "setStatusCode", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html#a61a024cd99997a0b4695100525c269a9", null ],
12 | [ "body", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html#abf5ce101d66a94536315ac6fe9ec1948", null ],
13 | [ "headers", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html#a8dbcfdc6ea59ca059406efbfdf555a9c", null ],
14 | [ "reason", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html#a398843a56d1108cd9a67258975f1549d", null ],
15 | [ "request", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html#af16a22393b972387376e401a53d4979e", null ],
16 | [ "statusCode", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html#a60055ef46fe8955a90ae11325ce46702", null ]
17 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1httpclient_1_1_pooling_h_t_t_p_client.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1httpclient_1_1_pooling_h_t_t_p_client =
2 | [
3 | [ "close", "classqcloudsms__csharp_1_1httpclient_1_1_pooling_h_t_t_p_client.html#ab98cdfecbbe978505f7dd2ff5d0d758d", null ],
4 | [ "fetch", "classqcloudsms__csharp_1_1httpclient_1_1_pooling_h_t_t_p_client.html#afff20549df71a1806ea99a84ec9a5950", null ]
5 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1httpclient_1_1_pooling_h_t_t_p_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1httpclient_1_1_pooling_h_t_t_p_client.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1json_1_1_j_s_o_n_array_builder.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1json_1_1_j_s_o_n_array_builder =
2 | [
3 | [ "JSONArrayBuilder", "classqcloudsms__csharp_1_1json_1_1_j_s_o_n_array_builder.html#a57c9938ce86b834e5a417367703f228b", null ],
4 | [ "Build", "classqcloudsms__csharp_1_1json_1_1_j_s_o_n_array_builder.html#ac3c977cef073a9835bcd48ae6f055945", null ],
5 | [ "Put", "classqcloudsms__csharp_1_1json_1_1_j_s_o_n_array_builder.html#a846bff907105bfcb7694a026fb537aca", null ]
6 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1json_1_1_j_s_o_n_exception.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1json_1_1_j_s_o_n_exception =
2 | [
3 | [ "JSONException", "classqcloudsms__csharp_1_1json_1_1_j_s_o_n_exception.html#a3bbcf888c6b47f608610c1391f448096", null ],
4 | [ "JSONException", "classqcloudsms__csharp_1_1json_1_1_j_s_o_n_exception.html#a66f3ccc49478307032481f9938e7198e", null ]
5 | ];
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1json_1_1_j_s_o_n_exception.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/classqcloudsms__csharp_1_1json_1_1_j_s_o_n_exception.png
--------------------------------------------------------------------------------
/docs/classqcloudsms__csharp_1_1json_1_1_j_s_o_n_object_builder.js:
--------------------------------------------------------------------------------
1 | var classqcloudsms__csharp_1_1json_1_1_j_s_o_n_object_builder =
2 | [
3 | [ "JSONObjectBuilder", "classqcloudsms__csharp_1_1json_1_1_j_s_o_n_object_builder.html#a724fe42ef1bfab11311f531206ace615", null ],
4 | [ "Build", "classqcloudsms__csharp_1_1json_1_1_j_s_o_n_object_builder.html#abbe873b73a0d58fc4ad35ecc3894b5ce", null ],
5 | [ "Put", "classqcloudsms__csharp_1_1json_1_1_j_s_o_n_object_builder.html#a36c00597ada8210cd4dac53a5f5767f9", null ],
6 | [ "PutArray", "classqcloudsms__csharp_1_1json_1_1_j_s_o_n_object_builder.html#a635c05777a04fbb3751e805ee671855e", null ],
7 | [ "PutArray", "classqcloudsms__csharp_1_1json_1_1_j_s_o_n_object_builder.html#a1ce039e7fd1cdb4b3b395c9366e31269", null ]
8 | ];
--------------------------------------------------------------------------------
/docs/closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/closed.png
--------------------------------------------------------------------------------
/docs/dir_da4c9dd239018fe26269ba2e1cf7c9a1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | qcloudsms_csharp: src/json 目录参考
8 |
9 |
10 |
11 |
12 |
13 |
14 |
18 |
19 |
20 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | qcloudsms_csharp
33 | 0.1.6
34 |
35 | |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
45 |
46 |
47 | - 首页
48 | - 命名空间
49 | - 类
50 | -
51 |
65 |
66 |
67 |
68 |
69 |
79 |
82 |
83 |
84 |
89 |
90 |
91 |
92 |
95 |
96 |
97 |
101 |
102 |
103 | |
105 | 文件 | JSONException.cs |
106 | |
107 | 文件 | JSONObject.cs |
108 | |
109 |
110 |
111 |
112 |
113 |
121 |
122 |
123 |
--------------------------------------------------------------------------------
/docs/doxygen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/doxygen.png
--------------------------------------------------------------------------------
/docs/dynsections.js:
--------------------------------------------------------------------------------
1 | function toggleVisibility(linkObj)
2 | {
3 | var base = $(linkObj).attr('id');
4 | var summary = $('#'+base+'-summary');
5 | var content = $('#'+base+'-content');
6 | var trigger = $('#'+base+'-trigger');
7 | var src=$(trigger).attr('src');
8 | if (content.is(':visible')===true) {
9 | content.hide();
10 | summary.show();
11 | $(linkObj).addClass('closed').removeClass('opened');
12 | $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
13 | } else {
14 | content.show();
15 | summary.hide();
16 | $(linkObj).removeClass('closed').addClass('opened');
17 | $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
18 | }
19 | return false;
20 | }
21 |
22 | function updateStripes()
23 | {
24 | $('table.directory tr').
25 | removeClass('even').filter(':visible:even').addClass('even');
26 | }
27 | function toggleLevel(level)
28 | {
29 | $('table.directory tr').each(function(){
30 | var l = this.id.split('_').length-1;
31 | var i = $('#img'+this.id.substring(3));
32 | var a = $('#arr'+this.id.substring(3));
33 | if (l
2 |
3 |
4 |
5 |
6 |
7 | qcloudsms_csharp: 首页
8 |
9 |
10 |
11 |
12 |
13 |
14 |
18 |
19 |
20 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | qcloudsms_csharp
33 | 0.1.6
34 |
35 | |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
45 |
46 |
47 | - 首页
48 | - 命名空间
49 | - 类
50 | -
51 |
65 |
66 |
67 |
68 |
69 |
79 |
82 |
83 |
84 |
89 |
90 |
91 |
92 |
95 |
96 |
97 |
101 |
102 |
103 |
104 |
105 |
112 |
113 |
114 |
--------------------------------------------------------------------------------
/docs/installdox:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 |
3 | %subst = ( );
4 | $quiet = 0;
5 |
6 | if (open(F,"search.cfg"))
7 | {
8 | $_= ; s/[ \t\n]*$//g ; $subst{"_doc"} = $_;
9 | $_= ; s/[ \t\n]*$//g ; $subst{"_cgi"} = $_;
10 | }
11 |
12 | while ( @ARGV ) {
13 | $_ = shift @ARGV;
14 | if ( s/^-// ) {
15 | if ( /^l(.*)/ ) {
16 | $v = ($1 eq "") ? shift @ARGV : $1;
17 | ($v =~ /\/$/) || ($v .= "/");
18 | $_ = $v;
19 | if ( /(.+)\@(.+)/ ) {
20 | if ( exists $subst{$1} ) {
21 | $subst{$1} = $2;
22 | } else {
23 | print STDERR "Unknown tag file $1 given with option -l\n";
24 | &usage();
25 | }
26 | } else {
27 | print STDERR "Argument $_ is invalid for option -l\n";
28 | &usage();
29 | }
30 | }
31 | elsif ( /^q/ ) {
32 | $quiet = 1;
33 | }
34 | elsif ( /^\?|^h/ ) {
35 | &usage();
36 | }
37 | else {
38 | print STDERR "Illegal option -$_\n";
39 | &usage();
40 | }
41 | }
42 | else {
43 | push (@files, $_ );
44 | }
45 | }
46 |
47 | foreach $sub (keys %subst)
48 | {
49 | if ( $subst{$sub} eq "" )
50 | {
51 | print STDERR "No substitute given for tag file `$sub'\n";
52 | &usage();
53 | }
54 | elsif ( ! $quiet && $sub ne "_doc" && $sub ne "_cgi" )
55 | {
56 | print "Substituting $subst{$sub} for each occurence of tag file $sub\n";
57 | }
58 | }
59 |
60 | if ( ! @files ) {
61 | if (opendir(D,".")) {
62 | foreach $file ( readdir(D) ) {
63 | $match = ".html";
64 | next if ( $file =~ /^\.\.?$/ );
65 | ($file =~ /$match/) && (push @files, $file);
66 | ($file =~ "tree.js") && (push @files, $file);
67 | }
68 | closedir(D);
69 | }
70 | }
71 |
72 | if ( ! @files ) {
73 | print STDERR "Warning: No input files given and none found!\n";
74 | }
75 |
76 | foreach $f (@files)
77 | {
78 | if ( ! $quiet ) {
79 | print "Editing: $f...\n";
80 | }
81 | $oldf = $f;
82 | $f .= ".bak";
83 | unless (rename $oldf,$f) {
84 | print STDERR "Error: cannot rename file $oldf\n";
85 | exit 1;
86 | }
87 | if (open(F,"<$f")) {
88 | unless (open(G,">$oldf")) {
89 | print STDERR "Error: opening file $oldf for writing\n";
90 | exit 1;
91 | }
92 | if ($oldf ne "tree.js") {
93 | while () {
94 | s/doxygen\=\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\" (href|src)=\"\2/doxygen\=\"$1:$subst{$1}\" \3=\"$subst{$1}/g;
95 | print G "$_";
96 | }
97 | }
98 | else {
99 | while () {
100 | s/\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\", \"\2/\"$1:$subst{$1}\" ,\"$subst{$1}/g;
101 | print G "$_";
102 | }
103 | }
104 | }
105 | else {
106 | print STDERR "Warning file $f does not exist\n";
107 | }
108 | unlink $f;
109 | }
110 |
111 | sub usage {
112 | print STDERR "Usage: installdox [options] [html-file [html-file ...]]\n";
113 | print STDERR "Options:\n";
114 | print STDERR " -l tagfile\@linkName tag file + URL or directory \n";
115 | print STDERR " -q Quiet mode\n\n";
116 | exit 1;
117 | }
118 |
--------------------------------------------------------------------------------
/docs/interfaceqcloudsms__csharp_1_1httpclient_1_1_i_h_t_t_p_client.js:
--------------------------------------------------------------------------------
1 | var interfaceqcloudsms__csharp_1_1httpclient_1_1_i_h_t_t_p_client =
2 | [
3 | [ "close", "interfaceqcloudsms__csharp_1_1httpclient_1_1_i_h_t_t_p_client.html#a6b0eef9470453f9cad1d3b567189d309", null ],
4 | [ "fetch", "interfaceqcloudsms__csharp_1_1httpclient_1_1_i_h_t_t_p_client.html#a58f11ea91619031f4d9a84ee5c797dc5", null ]
5 | ];
--------------------------------------------------------------------------------
/docs/interfaceqcloudsms__csharp_1_1httpclient_1_1_i_h_t_t_p_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/interfaceqcloudsms__csharp_1_1httpclient_1_1_i_h_t_t_p_client.png
--------------------------------------------------------------------------------
/docs/main.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | qcloudsms_csharp: 首页
6 |
7 |
8 |
9 |
10 |
11 |
19 |
20 |
qcloudsms_csharp 文档
0.1.0
21 |
制作者
22 |
23 | 1.6.2
24 |
25 |
26 |
--------------------------------------------------------------------------------
/docs/namespaceqcloudsms__csharp.js:
--------------------------------------------------------------------------------
1 | var namespaceqcloudsms__csharp =
2 | [
3 | [ "httpclient", "namespaceqcloudsms__csharp_1_1httpclient.html", "namespaceqcloudsms__csharp_1_1httpclient" ],
4 | [ "json", "namespaceqcloudsms__csharp_1_1json.html", "namespaceqcloudsms__csharp_1_1json" ],
5 | [ "FileVoiceSender", "classqcloudsms__csharp_1_1_file_voice_sender.html", "classqcloudsms__csharp_1_1_file_voice_sender" ],
6 | [ "FileVoiceSenderResult", "classqcloudsms__csharp_1_1_file_voice_sender_result.html", "classqcloudsms__csharp_1_1_file_voice_sender_result" ],
7 | [ "SmsBase", "classqcloudsms__csharp_1_1_sms_base.html", "classqcloudsms__csharp_1_1_sms_base" ],
8 | [ "SmsMobileStatusPuller", "classqcloudsms__csharp_1_1_sms_mobile_status_puller.html", "classqcloudsms__csharp_1_1_sms_mobile_status_puller" ],
9 | [ "SmsMultiSender", "classqcloudsms__csharp_1_1_sms_multi_sender.html", "classqcloudsms__csharp_1_1_sms_multi_sender" ],
10 | [ "SmsMultiSenderResult", "classqcloudsms__csharp_1_1_sms_multi_sender_result.html", "classqcloudsms__csharp_1_1_sms_multi_sender_result" ],
11 | [ "SmsResultBase", "classqcloudsms__csharp_1_1_sms_result_base.html", "classqcloudsms__csharp_1_1_sms_result_base" ],
12 | [ "SmsSingleSender", "classqcloudsms__csharp_1_1_sms_single_sender.html", "classqcloudsms__csharp_1_1_sms_single_sender" ],
13 | [ "SmsSingleSenderResult", "classqcloudsms__csharp_1_1_sms_single_sender_result.html", "classqcloudsms__csharp_1_1_sms_single_sender_result" ],
14 | [ "SmsStatusPullCallbackResult", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result.html", "classqcloudsms__csharp_1_1_sms_status_pull_callback_result" ],
15 | [ "SmsStatusPuller", "classqcloudsms__csharp_1_1_sms_status_puller.html", "classqcloudsms__csharp_1_1_sms_status_puller" ],
16 | [ "SmsStatusPullReplyResult", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result.html", "classqcloudsms__csharp_1_1_sms_status_pull_reply_result" ],
17 | [ "SmsVoicePromptSender", "classqcloudsms__csharp_1_1_sms_voice_prompt_sender.html", "classqcloudsms__csharp_1_1_sms_voice_prompt_sender" ],
18 | [ "SmsVoicePromptSenderResult", "classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result.html", "classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result" ],
19 | [ "SmsVoiceVerifyCodeSender", "classqcloudsms__csharp_1_1_sms_voice_verify_code_sender.html", "classqcloudsms__csharp_1_1_sms_voice_verify_code_sender" ],
20 | [ "SmsVoiceVerifyCodeSenderResult", "classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result.html", "classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result" ],
21 | [ "TtsVoiceSender", "classqcloudsms__csharp_1_1_tts_voice_sender.html", "classqcloudsms__csharp_1_1_tts_voice_sender" ],
22 | [ "TtsVoiceSenderResult", "classqcloudsms__csharp_1_1_tts_voice_sender_result.html", "classqcloudsms__csharp_1_1_tts_voice_sender_result" ],
23 | [ "VoiceFileUploader", "classqcloudsms__csharp_1_1_voice_file_uploader.html", "classqcloudsms__csharp_1_1_voice_file_uploader" ],
24 | [ "VoiceFileUploaderResult", "classqcloudsms__csharp_1_1_voice_file_uploader_result.html", "classqcloudsms__csharp_1_1_voice_file_uploader_result" ]
25 | ];
--------------------------------------------------------------------------------
/docs/namespaceqcloudsms__csharp_1_1httpclient.js:
--------------------------------------------------------------------------------
1 | var namespaceqcloudsms__csharp_1_1httpclient =
2 | [
3 | [ "DefaultHTTPClient", "classqcloudsms__csharp_1_1httpclient_1_1_default_h_t_t_p_client.html", "classqcloudsms__csharp_1_1httpclient_1_1_default_h_t_t_p_client" ],
4 | [ "HTTPException", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_exception.html", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_exception" ],
5 | [ "HTTPRequest", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request" ],
6 | [ "HTTPResponse", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html", "classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response" ],
7 | [ "IHTTPClient", "interfaceqcloudsms__csharp_1_1httpclient_1_1_i_h_t_t_p_client.html", "interfaceqcloudsms__csharp_1_1httpclient_1_1_i_h_t_t_p_client" ],
8 | [ "PoolingHTTPClient", "classqcloudsms__csharp_1_1httpclient_1_1_pooling_h_t_t_p_client.html", "classqcloudsms__csharp_1_1httpclient_1_1_pooling_h_t_t_p_client" ]
9 | ];
--------------------------------------------------------------------------------
/docs/namespaceqcloudsms__csharp_1_1json.js:
--------------------------------------------------------------------------------
1 | var namespaceqcloudsms__csharp_1_1json =
2 | [
3 | [ "JSONException", "classqcloudsms__csharp_1_1json_1_1_j_s_o_n_exception.html", "classqcloudsms__csharp_1_1json_1_1_j_s_o_n_exception" ],
4 | [ "JSONObjectBuilder", "classqcloudsms__csharp_1_1json_1_1_j_s_o_n_object_builder.html", "classqcloudsms__csharp_1_1json_1_1_j_s_o_n_object_builder" ],
5 | [ "JSONArrayBuilder", "classqcloudsms__csharp_1_1json_1_1_j_s_o_n_array_builder.html", "classqcloudsms__csharp_1_1json_1_1_j_s_o_n_array_builder" ]
6 | ];
--------------------------------------------------------------------------------
/docs/namespaces.js:
--------------------------------------------------------------------------------
1 | var namespaces =
2 | [
3 | [ "qcloudsms_csharp", "namespaceqcloudsms__csharp.html", "namespaceqcloudsms__csharp" ]
4 | ];
--------------------------------------------------------------------------------
/docs/nav_f.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/nav_f.png
--------------------------------------------------------------------------------
/docs/nav_g.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/nav_g.png
--------------------------------------------------------------------------------
/docs/nav_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/nav_h.png
--------------------------------------------------------------------------------
/docs/navtree.css:
--------------------------------------------------------------------------------
1 | #nav-tree .children_ul {
2 | margin:0;
3 | padding:4px;
4 | }
5 |
6 | #nav-tree ul {
7 | list-style:none outside none;
8 | margin:0px;
9 | padding:0px;
10 | }
11 |
12 | #nav-tree li {
13 | white-space:nowrap;
14 | margin:0px;
15 | padding:0px;
16 | }
17 |
18 | #nav-tree .plus {
19 | margin:0px;
20 | }
21 |
22 | #nav-tree .selected {
23 | background-image: url('tab_a.png');
24 | background-repeat:repeat-x;
25 | color: #fff;
26 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
27 | }
28 |
29 | #nav-tree img {
30 | margin:0px;
31 | padding:0px;
32 | border:0px;
33 | vertical-align: middle;
34 | }
35 |
36 | #nav-tree a {
37 | text-decoration:none;
38 | padding:0px;
39 | margin:0px;
40 | outline:none;
41 | }
42 |
43 | #nav-tree .label {
44 | margin:0px;
45 | padding:0px;
46 | font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
47 | }
48 |
49 | #nav-tree .label a {
50 | padding:2px;
51 | }
52 |
53 | #nav-tree .selected a {
54 | text-decoration:none;
55 | color:#fff;
56 | }
57 |
58 | #nav-tree .children_ul {
59 | margin:0px;
60 | padding:0px;
61 | }
62 |
63 | #nav-tree .item {
64 | margin:0px;
65 | padding:0px;
66 | }
67 |
68 | #nav-tree {
69 | padding: 0px 0px;
70 | background-color: #FAFAFF;
71 | font-size:14px;
72 | overflow:auto;
73 | }
74 |
75 | #doc-content {
76 | overflow:auto;
77 | display:block;
78 | padding:0px;
79 | margin:0px;
80 | -webkit-overflow-scrolling : touch; /* iOS 5+ */
81 | }
82 |
83 | #side-nav {
84 | padding:0 6px 0 0;
85 | margin: 0px;
86 | display:block;
87 | position: absolute;
88 | left: 0px;
89 | width: 250px;
90 | }
91 |
92 | .ui-resizable .ui-resizable-handle {
93 | display:block;
94 | }
95 |
96 | .ui-resizable-e {
97 | background:url("ftv2splitbar.png") repeat scroll right center transparent;
98 | cursor:e-resize;
99 | height:100%;
100 | right:0;
101 | top:0;
102 | width:6px;
103 | }
104 |
105 | .ui-resizable-handle {
106 | display:none;
107 | font-size:0.1px;
108 | position:absolute;
109 | z-index:1;
110 | }
111 |
112 | #nav-tree-contents {
113 | margin: 6px 0px 0px 0px;
114 | }
115 |
116 | #nav-tree {
117 | background-image:url('nav_h.png');
118 | background-repeat:repeat-x;
119 | background-color: #F9FAFC;
120 | -webkit-overflow-scrolling : touch; /* iOS 5+ */
121 | }
122 |
123 | #nav-sync {
124 | position:absolute;
125 | top:5px;
126 | right:24px;
127 | z-index:0;
128 | }
129 |
130 | #nav-sync img {
131 | opacity:0.3;
132 | }
133 |
134 | #nav-sync img:hover {
135 | opacity:0.9;
136 | }
137 |
138 | @media print
139 | {
140 | #nav-tree { display: none; }
141 | div.ui-resizable-handle { display: none; position: relative; }
142 | }
143 |
144 |
--------------------------------------------------------------------------------
/docs/open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/open.png
--------------------------------------------------------------------------------
/docs/resize.js:
--------------------------------------------------------------------------------
1 | var cookie_namespace = 'doxygen';
2 | var sidenav,navtree,content,header;
3 |
4 | function readCookie(cookie)
5 | {
6 | var myCookie = cookie_namespace+"_"+cookie+"=";
7 | if (document.cookie)
8 | {
9 | var index = document.cookie.indexOf(myCookie);
10 | if (index != -1)
11 | {
12 | var valStart = index + myCookie.length;
13 | var valEnd = document.cookie.indexOf(";", valStart);
14 | if (valEnd == -1)
15 | {
16 | valEnd = document.cookie.length;
17 | }
18 | var val = document.cookie.substring(valStart, valEnd);
19 | return val;
20 | }
21 | }
22 | return 0;
23 | }
24 |
25 | function writeCookie(cookie, val, expiration)
26 | {
27 | if (val==undefined) return;
28 | if (expiration == null)
29 | {
30 | var date = new Date();
31 | date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week
32 | expiration = date.toGMTString();
33 | }
34 | document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/";
35 | }
36 |
37 | function resizeWidth()
38 | {
39 | var windowWidth = $(window).width() + "px";
40 | var sidenavWidth = $(sidenav).outerWidth();
41 | content.css({marginLeft:parseInt(sidenavWidth)+"px"});
42 | writeCookie('width',sidenavWidth, null);
43 | }
44 |
45 | function restoreWidth(navWidth)
46 | {
47 | var windowWidth = $(window).width() + "px";
48 | content.css({marginLeft:parseInt(navWidth)+6+"px"});
49 | sidenav.css({width:navWidth + "px"});
50 | }
51 |
52 | function resizeHeight()
53 | {
54 | var headerHeight = header.outerHeight();
55 | var footerHeight = footer.outerHeight();
56 | var windowHeight = $(window).height() - headerHeight - footerHeight;
57 | content.css({height:windowHeight + "px"});
58 | navtree.css({height:windowHeight + "px"});
59 | sidenav.css({height:windowHeight + "px",top: headerHeight+"px"});
60 | }
61 |
62 | function initResizable()
63 | {
64 | header = $("#top");
65 | sidenav = $("#side-nav");
66 | content = $("#doc-content");
67 | navtree = $("#nav-tree");
68 | footer = $("#nav-path");
69 | $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } });
70 | $(window).resize(function() { resizeHeight(); });
71 | var width = readCookie('width');
72 | if (width) { restoreWidth(width); } else { resizeWidth(); }
73 | resizeHeight();
74 | var url = location.href;
75 | var i=url.indexOf("#");
76 | if (i>=0) window.location.hash=url.substr(i);
77 | var _preventDefault = function(evt) { evt.preventDefault(); };
78 | $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault);
79 | $(document).bind('touchmove',function(e){
80 | try {
81 | var target = e.target;
82 | while (target) {
83 | if ($(target).css('-webkit-overflow-scrolling')=='touch') return;
84 | target = target.parentNode;
85 | }
86 | e.preventDefault();
87 | } catch(err) {
88 | e.preventDefault();
89 | }
90 | });
91 | }
92 |
93 |
94 |
--------------------------------------------------------------------------------
/docs/search/all_63.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/all_63.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['callback',['Callback',['../classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback.html',1,'qcloudsms_csharp::SmsStatusPullCallbackResult']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/all_64.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/all_64.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['defaulthttpclient',['DefaultHTTPClient',['../classqcloudsms__csharp_1_1httpclient_1_1_default_h_t_t_p_client.html',1,'qcloudsms_csharp::httpclient']]],
4 | ['detail',['Detail',['../classqcloudsms__csharp_1_1_sms_multi_sender_result_1_1_detail.html',1,'qcloudsms_csharp::SmsMultiSenderResult']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/all_66.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/all_66.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['filevoicesender',['FileVoiceSender',['../classqcloudsms__csharp_1_1_file_voice_sender.html',1,'qcloudsms_csharp']]],
4 | ['filevoicesenderresult',['FileVoiceSenderResult',['../classqcloudsms__csharp_1_1_file_voice_sender_result.html',1,'qcloudsms_csharp']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/all_67.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/all_67.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['getresponse',['getResponse',['../classqcloudsms__csharp_1_1_sms_result_base.html#ad815a42e08a2d0040a916c3100d33f18',1,'qcloudsms_csharp::SmsResultBase']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/all_68.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/all_68.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['handleerror',['handleError',['../classqcloudsms__csharp_1_1_sms_base.html#a4429d661fb8b3a029a96b9cb45cd13d9',1,'qcloudsms_csharp::SmsBase']]],
4 | ['httpexception',['HTTPException',['../classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_exception.html',1,'qcloudsms_csharp::httpclient']]],
5 | ['httprequest',['HTTPRequest',['../classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html',1,'qcloudsms_csharp::httpclient']]],
6 | ['httpresponse',['HTTPResponse',['../classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html',1,'qcloudsms_csharp::httpclient']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/docs/search/all_69.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/all_69.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['ihttpclient',['IHTTPClient',['../interfaceqcloudsms__csharp_1_1httpclient_1_1_i_h_t_t_p_client.html',1,'qcloudsms_csharp::httpclient']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/all_6a.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/all_6a.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['jsonarraybuilder',['JSONArrayBuilder',['../classqcloudsms__csharp_1_1json_1_1_j_s_o_n_array_builder.html',1,'qcloudsms_csharp::json']]],
4 | ['jsonexception',['JSONException',['../classqcloudsms__csharp_1_1json_1_1_j_s_o_n_exception.html',1,'qcloudsms_csharp::json']]],
5 | ['jsonobjectbuilder',['JSONObjectBuilder',['../classqcloudsms__csharp_1_1json_1_1_j_s_o_n_object_builder.html',1,'qcloudsms_csharp::json']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/search/all_70.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/all_70.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['parsefromhttpresponse',['parseFromHTTPResponse',['../classqcloudsms__csharp_1_1_file_voice_sender_result.html#acd9426edc2779dfb2307d663220694e5',1,'qcloudsms_csharp.FileVoiceSenderResult.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_sms_multi_sender_result.html#a649f621be3634acd6cafbba9fe9564e0',1,'qcloudsms_csharp.SmsMultiSenderResult.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_sms_result_base.html#a547e8f85b93d11c74cf6056e561b8255',1,'qcloudsms_csharp.SmsResultBase.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_sms_single_sender_result.html#a017852f3e7f3768dc11b5888d702ca88',1,'qcloudsms_csharp.SmsSingleSenderResult.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_sms_status_pull_callback_result.html#aa0b985a9043e578db2fa2188d52b1d45',1,'qcloudsms_csharp.SmsStatusPullCallbackResult.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_sms_status_pull_reply_result.html#a09d112933d2b97ebc65ccbfde5e0a20b',1,'qcloudsms_csharp.SmsStatusPullReplyResult.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result.html#a10825b6de39a071c5a27b2a5c6eebb4b',1,'qcloudsms_csharp.SmsVoicePromptSenderResult.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result.html#a362587b86ba8aea8728eabdac503f385',1,'qcloudsms_csharp.SmsVoiceVerifyCodeSenderResult.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_tts_voice_sender_result.html#afc6ace2efa12fde819657dba4142c40f',1,'qcloudsms_csharp.TtsVoiceSenderResult.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_voice_file_uploader_result.html#a3e56b8698282083d851324bbad929c74',1,'qcloudsms_csharp.VoiceFileUploaderResult.parseFromHTTPResponse()']]],
4 | ['parsetojson',['parseToJson',['../classqcloudsms__csharp_1_1_sms_result_base.html#a5936f24aee00b69a7f462ce131620f7d',1,'qcloudsms_csharp::SmsResultBase']]],
5 | ['poolinghttpclient',['PoolingHTTPClient',['../classqcloudsms__csharp_1_1httpclient_1_1_pooling_h_t_t_p_client.html',1,'qcloudsms_csharp::httpclient']]],
6 | ['pullcallback',['pullCallback',['../classqcloudsms__csharp_1_1_sms_mobile_status_puller.html#a31e3ea54bca7a25496b7a1108bea5c72',1,'qcloudsms_csharp.SmsMobileStatusPuller.pullCallback()'],['../classqcloudsms__csharp_1_1_sms_status_puller.html#a48530deaa1a8c6583998b91ca863cd3d',1,'qcloudsms_csharp.SmsStatusPuller.pullCallback()']]],
7 | ['pullreply',['pullReply',['../classqcloudsms__csharp_1_1_sms_mobile_status_puller.html#a01432512d23a8dcbd0d30a90c51d3bc6',1,'qcloudsms_csharp.SmsMobileStatusPuller.pullReply()'],['../classqcloudsms__csharp_1_1_sms_status_puller.html#aa8e8b72b82f11d302ab976d7da5e2861',1,'qcloudsms_csharp.SmsStatusPuller.pullReply()']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/docs/search/all_71.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/all_71.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['httpclient',['httpclient',['../namespaceqcloudsms__csharp_1_1httpclient.html',1,'qcloudsms_csharp']]],
4 | ['json',['json',['../namespaceqcloudsms__csharp_1_1json.html',1,'qcloudsms_csharp']]],
5 | ['qcloudsms_5fcsharp',['qcloudsms_csharp',['../namespaceqcloudsms__csharp.html',1,'']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/search/all_72.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/all_72.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['reply',['Reply',['../classqcloudsms__csharp_1_1_sms_status_pull_reply_result_1_1_reply.html',1,'qcloudsms_csharp::SmsStatusPullReplyResult']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/all_73.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/all_73.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['send',['send',['../classqcloudsms__csharp_1_1_file_voice_sender.html#a1a595bf3942356bef59a4f3f60f36365',1,'qcloudsms_csharp.FileVoiceSender.send()'],['../classqcloudsms__csharp_1_1_sms_multi_sender.html#a804ff6499a68488a468edbe7b3bd9892',1,'qcloudsms_csharp.SmsMultiSender.send(int type, string nationCode, List< string > phoneNumbers, string msg, string extend, string ext)'],['../classqcloudsms__csharp_1_1_sms_multi_sender.html#a59178a59908cec9d99350809bdcc34b6',1,'qcloudsms_csharp.SmsMultiSender.send(int type, string nationCode, string[] phoneNumbers, string msg, string extend, string ext)'],['../classqcloudsms__csharp_1_1_sms_single_sender.html#a78fe589301a98304d800f5ca58941bf1',1,'qcloudsms_csharp.SmsSingleSender.send()'],['../classqcloudsms__csharp_1_1_sms_voice_prompt_sender.html#aa244a712782437caea9b0325d83cf8bf',1,'qcloudsms_csharp.SmsVoicePromptSender.send()'],['../classqcloudsms__csharp_1_1_sms_voice_verify_code_sender.html#a991e696ba1fcd6be4a4f327b6aacb59d',1,'qcloudsms_csharp.SmsVoiceVerifyCodeSender.send()'],['../classqcloudsms__csharp_1_1_tts_voice_sender.html#acf9863ffcae675eec1fe12ac4ed516d2',1,'qcloudsms_csharp.TtsVoiceSender.send()']]],
4 | ['sendwithparam',['sendWithParam',['../classqcloudsms__csharp_1_1_sms_multi_sender.html#a784ed4935818efbc52c699440964ffde',1,'qcloudsms_csharp.SmsMultiSender.sendWithParam(string nationCode, List< string > phoneNumbers, int templateId, List< string > parameters, string sign, string extend, string ext)'],['../classqcloudsms__csharp_1_1_sms_multi_sender.html#a49c7bcf9d67d4bb20cae30781c23fb99',1,'qcloudsms_csharp.SmsMultiSender.sendWithParam(string nationCode, string[] phoneNumbers, int templateId, string[] parameters, string sign, string extend, string ext)'],['../classqcloudsms__csharp_1_1_sms_single_sender.html#a647e118ab72bd7de3d3f46d538b580ab',1,'qcloudsms_csharp.SmsSingleSender.sendWithParam()']]],
5 | ['smsbase',['SmsBase',['../classqcloudsms__csharp_1_1_sms_base.html',1,'qcloudsms_csharp']]],
6 | ['smsmobilestatuspuller',['SmsMobileStatusPuller',['../classqcloudsms__csharp_1_1_sms_mobile_status_puller.html',1,'qcloudsms_csharp']]],
7 | ['smsmultisender',['SmsMultiSender',['../classqcloudsms__csharp_1_1_sms_multi_sender.html',1,'qcloudsms_csharp']]],
8 | ['smsmultisenderresult',['SmsMultiSenderResult',['../classqcloudsms__csharp_1_1_sms_multi_sender_result.html',1,'qcloudsms_csharp']]],
9 | ['smsresultbase',['SmsResultBase',['../classqcloudsms__csharp_1_1_sms_result_base.html',1,'qcloudsms_csharp']]],
10 | ['smssinglesender',['SmsSingleSender',['../classqcloudsms__csharp_1_1_sms_single_sender.html',1,'qcloudsms_csharp']]],
11 | ['smssinglesenderresult',['SmsSingleSenderResult',['../classqcloudsms__csharp_1_1_sms_single_sender_result.html',1,'qcloudsms_csharp']]],
12 | ['smsstatuspullcallbackresult',['SmsStatusPullCallbackResult',['../classqcloudsms__csharp_1_1_sms_status_pull_callback_result.html',1,'qcloudsms_csharp']]],
13 | ['smsstatuspuller',['SmsStatusPuller',['../classqcloudsms__csharp_1_1_sms_status_puller.html',1,'qcloudsms_csharp']]],
14 | ['smsstatuspullreplyresult',['SmsStatusPullReplyResult',['../classqcloudsms__csharp_1_1_sms_status_pull_reply_result.html',1,'qcloudsms_csharp']]],
15 | ['smsvoicepromptsender',['SmsVoicePromptSender',['../classqcloudsms__csharp_1_1_sms_voice_prompt_sender.html',1,'qcloudsms_csharp']]],
16 | ['smsvoicepromptsenderresult',['SmsVoicePromptSenderResult',['../classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result.html',1,'qcloudsms_csharp']]],
17 | ['smsvoiceverifycodesender',['SmsVoiceVerifyCodeSender',['../classqcloudsms__csharp_1_1_sms_voice_verify_code_sender.html',1,'qcloudsms_csharp']]],
18 | ['smsvoiceverifycodesenderresult',['SmsVoiceVerifyCodeSenderResult',['../classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result.html',1,'qcloudsms_csharp']]]
19 | ];
20 |
--------------------------------------------------------------------------------
/docs/search/all_74.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/all_74.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['ttsvoicesender',['TtsVoiceSender',['../classqcloudsms__csharp_1_1_tts_voice_sender.html',1,'qcloudsms_csharp']]],
4 | ['ttsvoicesenderresult',['TtsVoiceSenderResult',['../classqcloudsms__csharp_1_1_tts_voice_sender_result.html',1,'qcloudsms_csharp']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/all_75.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/all_75.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['upload',['upload',['../classqcloudsms__csharp_1_1_voice_file_uploader.html#a7d96eef54e4bc2576fcf88b473f04693',1,'qcloudsms_csharp::VoiceFileUploader']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/all_76.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/all_76.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['voicefileuploader',['VoiceFileUploader',['../classqcloudsms__csharp_1_1_voice_file_uploader.html',1,'qcloudsms_csharp']]],
4 | ['voicefileuploaderresult',['VoiceFileUploaderResult',['../classqcloudsms__csharp_1_1_voice_file_uploader_result.html',1,'qcloudsms_csharp']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/classes_63.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/classes_63.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['callback',['Callback',['../classqcloudsms__csharp_1_1_sms_status_pull_callback_result_1_1_callback.html',1,'qcloudsms_csharp::SmsStatusPullCallbackResult']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/classes_64.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/classes_64.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['defaulthttpclient',['DefaultHTTPClient',['../classqcloudsms__csharp_1_1httpclient_1_1_default_h_t_t_p_client.html',1,'qcloudsms_csharp::httpclient']]],
4 | ['detail',['Detail',['../classqcloudsms__csharp_1_1_sms_multi_sender_result_1_1_detail.html',1,'qcloudsms_csharp::SmsMultiSenderResult']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/classes_66.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/classes_66.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['filevoicesender',['FileVoiceSender',['../classqcloudsms__csharp_1_1_file_voice_sender.html',1,'qcloudsms_csharp']]],
4 | ['filevoicesenderresult',['FileVoiceSenderResult',['../classqcloudsms__csharp_1_1_file_voice_sender_result.html',1,'qcloudsms_csharp']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/classes_68.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/classes_68.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['httpexception',['HTTPException',['../classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_exception.html',1,'qcloudsms_csharp::httpclient']]],
4 | ['httprequest',['HTTPRequest',['../classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_request.html',1,'qcloudsms_csharp::httpclient']]],
5 | ['httpresponse',['HTTPResponse',['../classqcloudsms__csharp_1_1httpclient_1_1_h_t_t_p_response.html',1,'qcloudsms_csharp::httpclient']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/search/classes_69.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/classes_69.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['ihttpclient',['IHTTPClient',['../interfaceqcloudsms__csharp_1_1httpclient_1_1_i_h_t_t_p_client.html',1,'qcloudsms_csharp::httpclient']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/classes_6a.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/classes_6a.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['jsonarraybuilder',['JSONArrayBuilder',['../classqcloudsms__csharp_1_1json_1_1_j_s_o_n_array_builder.html',1,'qcloudsms_csharp::json']]],
4 | ['jsonexception',['JSONException',['../classqcloudsms__csharp_1_1json_1_1_j_s_o_n_exception.html',1,'qcloudsms_csharp::json']]],
5 | ['jsonobjectbuilder',['JSONObjectBuilder',['../classqcloudsms__csharp_1_1json_1_1_j_s_o_n_object_builder.html',1,'qcloudsms_csharp::json']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/search/classes_70.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/classes_70.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['poolinghttpclient',['PoolingHTTPClient',['../classqcloudsms__csharp_1_1httpclient_1_1_pooling_h_t_t_p_client.html',1,'qcloudsms_csharp::httpclient']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/classes_72.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/classes_72.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['reply',['Reply',['../classqcloudsms__csharp_1_1_sms_status_pull_reply_result_1_1_reply.html',1,'qcloudsms_csharp::SmsStatusPullReplyResult']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/classes_73.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/classes_73.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['smsbase',['SmsBase',['../classqcloudsms__csharp_1_1_sms_base.html',1,'qcloudsms_csharp']]],
4 | ['smsmobilestatuspuller',['SmsMobileStatusPuller',['../classqcloudsms__csharp_1_1_sms_mobile_status_puller.html',1,'qcloudsms_csharp']]],
5 | ['smsmultisender',['SmsMultiSender',['../classqcloudsms__csharp_1_1_sms_multi_sender.html',1,'qcloudsms_csharp']]],
6 | ['smsmultisenderresult',['SmsMultiSenderResult',['../classqcloudsms__csharp_1_1_sms_multi_sender_result.html',1,'qcloudsms_csharp']]],
7 | ['smsresultbase',['SmsResultBase',['../classqcloudsms__csharp_1_1_sms_result_base.html',1,'qcloudsms_csharp']]],
8 | ['smssinglesender',['SmsSingleSender',['../classqcloudsms__csharp_1_1_sms_single_sender.html',1,'qcloudsms_csharp']]],
9 | ['smssinglesenderresult',['SmsSingleSenderResult',['../classqcloudsms__csharp_1_1_sms_single_sender_result.html',1,'qcloudsms_csharp']]],
10 | ['smsstatuspullcallbackresult',['SmsStatusPullCallbackResult',['../classqcloudsms__csharp_1_1_sms_status_pull_callback_result.html',1,'qcloudsms_csharp']]],
11 | ['smsstatuspuller',['SmsStatusPuller',['../classqcloudsms__csharp_1_1_sms_status_puller.html',1,'qcloudsms_csharp']]],
12 | ['smsstatuspullreplyresult',['SmsStatusPullReplyResult',['../classqcloudsms__csharp_1_1_sms_status_pull_reply_result.html',1,'qcloudsms_csharp']]],
13 | ['smsvoicepromptsender',['SmsVoicePromptSender',['../classqcloudsms__csharp_1_1_sms_voice_prompt_sender.html',1,'qcloudsms_csharp']]],
14 | ['smsvoicepromptsenderresult',['SmsVoicePromptSenderResult',['../classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result.html',1,'qcloudsms_csharp']]],
15 | ['smsvoiceverifycodesender',['SmsVoiceVerifyCodeSender',['../classqcloudsms__csharp_1_1_sms_voice_verify_code_sender.html',1,'qcloudsms_csharp']]],
16 | ['smsvoiceverifycodesenderresult',['SmsVoiceVerifyCodeSenderResult',['../classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result.html',1,'qcloudsms_csharp']]]
17 | ];
18 |
--------------------------------------------------------------------------------
/docs/search/classes_74.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/classes_74.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['ttsvoicesender',['TtsVoiceSender',['../classqcloudsms__csharp_1_1_tts_voice_sender.html',1,'qcloudsms_csharp']]],
4 | ['ttsvoicesenderresult',['TtsVoiceSenderResult',['../classqcloudsms__csharp_1_1_tts_voice_sender_result.html',1,'qcloudsms_csharp']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/classes_76.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/classes_76.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['voicefileuploader',['VoiceFileUploader',['../classqcloudsms__csharp_1_1_voice_file_uploader.html',1,'qcloudsms_csharp']]],
4 | ['voicefileuploaderresult',['VoiceFileUploaderResult',['../classqcloudsms__csharp_1_1_voice_file_uploader_result.html',1,'qcloudsms_csharp']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/search/close.png
--------------------------------------------------------------------------------
/docs/search/functions_67.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/functions_67.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['getresponse',['getResponse',['../classqcloudsms__csharp_1_1_sms_result_base.html#ad815a42e08a2d0040a916c3100d33f18',1,'qcloudsms_csharp::SmsResultBase']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/functions_68.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/functions_68.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['handleerror',['handleError',['../classqcloudsms__csharp_1_1_sms_base.html#a4429d661fb8b3a029a96b9cb45cd13d9',1,'qcloudsms_csharp::SmsBase']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/functions_70.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/functions_70.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['parsefromhttpresponse',['parseFromHTTPResponse',['../classqcloudsms__csharp_1_1_file_voice_sender_result.html#acd9426edc2779dfb2307d663220694e5',1,'qcloudsms_csharp.FileVoiceSenderResult.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_sms_multi_sender_result.html#a649f621be3634acd6cafbba9fe9564e0',1,'qcloudsms_csharp.SmsMultiSenderResult.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_sms_result_base.html#a547e8f85b93d11c74cf6056e561b8255',1,'qcloudsms_csharp.SmsResultBase.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_sms_single_sender_result.html#a017852f3e7f3768dc11b5888d702ca88',1,'qcloudsms_csharp.SmsSingleSenderResult.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_sms_status_pull_callback_result.html#aa0b985a9043e578db2fa2188d52b1d45',1,'qcloudsms_csharp.SmsStatusPullCallbackResult.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_sms_status_pull_reply_result.html#a09d112933d2b97ebc65ccbfde5e0a20b',1,'qcloudsms_csharp.SmsStatusPullReplyResult.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_sms_voice_prompt_sender_result.html#a10825b6de39a071c5a27b2a5c6eebb4b',1,'qcloudsms_csharp.SmsVoicePromptSenderResult.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_sms_voice_verify_code_sender_result.html#a362587b86ba8aea8728eabdac503f385',1,'qcloudsms_csharp.SmsVoiceVerifyCodeSenderResult.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_tts_voice_sender_result.html#afc6ace2efa12fde819657dba4142c40f',1,'qcloudsms_csharp.TtsVoiceSenderResult.parseFromHTTPResponse()'],['../classqcloudsms__csharp_1_1_voice_file_uploader_result.html#a3e56b8698282083d851324bbad929c74',1,'qcloudsms_csharp.VoiceFileUploaderResult.parseFromHTTPResponse()']]],
4 | ['parsetojson',['parseToJson',['../classqcloudsms__csharp_1_1_sms_result_base.html#a5936f24aee00b69a7f462ce131620f7d',1,'qcloudsms_csharp::SmsResultBase']]],
5 | ['pullcallback',['pullCallback',['../classqcloudsms__csharp_1_1_sms_mobile_status_puller.html#a31e3ea54bca7a25496b7a1108bea5c72',1,'qcloudsms_csharp.SmsMobileStatusPuller.pullCallback()'],['../classqcloudsms__csharp_1_1_sms_status_puller.html#a48530deaa1a8c6583998b91ca863cd3d',1,'qcloudsms_csharp.SmsStatusPuller.pullCallback()']]],
6 | ['pullreply',['pullReply',['../classqcloudsms__csharp_1_1_sms_mobile_status_puller.html#a01432512d23a8dcbd0d30a90c51d3bc6',1,'qcloudsms_csharp.SmsMobileStatusPuller.pullReply()'],['../classqcloudsms__csharp_1_1_sms_status_puller.html#aa8e8b72b82f11d302ab976d7da5e2861',1,'qcloudsms_csharp.SmsStatusPuller.pullReply()']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/docs/search/functions_73.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/functions_73.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['send',['send',['../classqcloudsms__csharp_1_1_file_voice_sender.html#a1a595bf3942356bef59a4f3f60f36365',1,'qcloudsms_csharp.FileVoiceSender.send()'],['../classqcloudsms__csharp_1_1_sms_multi_sender.html#a804ff6499a68488a468edbe7b3bd9892',1,'qcloudsms_csharp.SmsMultiSender.send(int type, string nationCode, List< string > phoneNumbers, string msg, string extend, string ext)'],['../classqcloudsms__csharp_1_1_sms_multi_sender.html#a59178a59908cec9d99350809bdcc34b6',1,'qcloudsms_csharp.SmsMultiSender.send(int type, string nationCode, string[] phoneNumbers, string msg, string extend, string ext)'],['../classqcloudsms__csharp_1_1_sms_single_sender.html#a78fe589301a98304d800f5ca58941bf1',1,'qcloudsms_csharp.SmsSingleSender.send()'],['../classqcloudsms__csharp_1_1_sms_voice_prompt_sender.html#aa244a712782437caea9b0325d83cf8bf',1,'qcloudsms_csharp.SmsVoicePromptSender.send()'],['../classqcloudsms__csharp_1_1_sms_voice_verify_code_sender.html#a991e696ba1fcd6be4a4f327b6aacb59d',1,'qcloudsms_csharp.SmsVoiceVerifyCodeSender.send()'],['../classqcloudsms__csharp_1_1_tts_voice_sender.html#acf9863ffcae675eec1fe12ac4ed516d2',1,'qcloudsms_csharp.TtsVoiceSender.send()']]],
4 | ['sendwithparam',['sendWithParam',['../classqcloudsms__csharp_1_1_sms_multi_sender.html#a784ed4935818efbc52c699440964ffde',1,'qcloudsms_csharp.SmsMultiSender.sendWithParam(string nationCode, List< string > phoneNumbers, int templateId, List< string > parameters, string sign, string extend, string ext)'],['../classqcloudsms__csharp_1_1_sms_multi_sender.html#a49c7bcf9d67d4bb20cae30781c23fb99',1,'qcloudsms_csharp.SmsMultiSender.sendWithParam(string nationCode, string[] phoneNumbers, int templateId, string[] parameters, string sign, string extend, string ext)'],['../classqcloudsms__csharp_1_1_sms_single_sender.html#a647e118ab72bd7de3d3f46d538b580ab',1,'qcloudsms_csharp.SmsSingleSender.sendWithParam()']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/functions_75.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/functions_75.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['upload',['upload',['../classqcloudsms__csharp_1_1_voice_file_uploader.html#a7d96eef54e4bc2576fcf88b473f04693',1,'qcloudsms_csharp::VoiceFileUploader']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/mag_sel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/search/mag_sel.png
--------------------------------------------------------------------------------
/docs/search/namespaces_71.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
载入中...
12 |
13 |
16 |
搜索中...
17 |
未找到
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/namespaces_71.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['httpclient',['httpclient',['../namespaceqcloudsms__csharp_1_1httpclient.html',1,'qcloudsms_csharp']]],
4 | ['json',['json',['../namespaceqcloudsms__csharp_1_1json.html',1,'qcloudsms_csharp']]],
5 | ['qcloudsms_5fcsharp',['qcloudsms_csharp',['../namespaceqcloudsms__csharp.html',1,'']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/search/nomatches.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/docs/search/search.css:
--------------------------------------------------------------------------------
1 | /*---------------- Search Box */
2 |
3 | #FSearchBox {
4 | float: left;
5 | }
6 |
7 | #MSearchBox {
8 | white-space : nowrap;
9 | position: absolute;
10 | float: none;
11 | display: inline;
12 | margin-top: 8px;
13 | right: 0px;
14 | width: 170px;
15 | z-index: 102;
16 | background-color: white;
17 | }
18 |
19 | #MSearchBox .left
20 | {
21 | display:block;
22 | position:absolute;
23 | left:10px;
24 | width:20px;
25 | height:19px;
26 | background:url('search_l.png') no-repeat;
27 | background-position:right;
28 | }
29 |
30 | #MSearchSelect {
31 | display:block;
32 | position:absolute;
33 | width:20px;
34 | height:19px;
35 | }
36 |
37 | .left #MSearchSelect {
38 | left:4px;
39 | }
40 |
41 | .right #MSearchSelect {
42 | right:5px;
43 | }
44 |
45 | #MSearchField {
46 | display:block;
47 | position:absolute;
48 | height:19px;
49 | background:url('search_m.png') repeat-x;
50 | border:none;
51 | width:111px;
52 | margin-left:20px;
53 | padding-left:4px;
54 | color: #909090;
55 | outline: none;
56 | font: 9pt Arial, Verdana, sans-serif;
57 | }
58 |
59 | #FSearchBox #MSearchField {
60 | margin-left:15px;
61 | }
62 |
63 | #MSearchBox .right {
64 | display:block;
65 | position:absolute;
66 | right:10px;
67 | top:0px;
68 | width:20px;
69 | height:19px;
70 | background:url('search_r.png') no-repeat;
71 | background-position:left;
72 | }
73 |
74 | #MSearchClose {
75 | display: none;
76 | position: absolute;
77 | top: 4px;
78 | background : none;
79 | border: none;
80 | margin: 0px 4px 0px 0px;
81 | padding: 0px 0px;
82 | outline: none;
83 | }
84 |
85 | .left #MSearchClose {
86 | left: 6px;
87 | }
88 |
89 | .right #MSearchClose {
90 | right: 2px;
91 | }
92 |
93 | .MSearchBoxActive #MSearchField {
94 | color: #000000;
95 | }
96 |
97 | /*---------------- Search filter selection */
98 |
99 | #MSearchSelectWindow {
100 | display: none;
101 | position: absolute;
102 | left: 0; top: 0;
103 | border: 1px solid #90A5CE;
104 | background-color: #F9FAFC;
105 | z-index: 1;
106 | padding-top: 4px;
107 | padding-bottom: 4px;
108 | -moz-border-radius: 4px;
109 | -webkit-border-top-left-radius: 4px;
110 | -webkit-border-top-right-radius: 4px;
111 | -webkit-border-bottom-left-radius: 4px;
112 | -webkit-border-bottom-right-radius: 4px;
113 | -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
114 | }
115 |
116 | .SelectItem {
117 | font: 8pt Arial, Verdana, sans-serif;
118 | padding-left: 2px;
119 | padding-right: 12px;
120 | border: 0px;
121 | }
122 |
123 | span.SelectionMark {
124 | margin-right: 4px;
125 | font-family: monospace;
126 | outline-style: none;
127 | text-decoration: none;
128 | }
129 |
130 | a.SelectItem {
131 | display: block;
132 | outline-style: none;
133 | color: #000000;
134 | text-decoration: none;
135 | padding-left: 6px;
136 | padding-right: 12px;
137 | }
138 |
139 | a.SelectItem:focus,
140 | a.SelectItem:active {
141 | color: #000000;
142 | outline-style: none;
143 | text-decoration: none;
144 | }
145 |
146 | a.SelectItem:hover {
147 | color: #FFFFFF;
148 | background-color: #3D578C;
149 | outline-style: none;
150 | text-decoration: none;
151 | cursor: pointer;
152 | display: block;
153 | }
154 |
155 | /*---------------- Search results window */
156 |
157 | iframe#MSearchResults {
158 | width: 60ex;
159 | height: 15em;
160 | }
161 |
162 | #MSearchResultsWindow {
163 | display: none;
164 | position: absolute;
165 | left: 0; top: 0;
166 | border: 1px solid #000;
167 | background-color: #EEF1F7;
168 | }
169 |
170 | /* ----------------------------------- */
171 |
172 |
173 | #SRIndex {
174 | clear:both;
175 | padding-bottom: 15px;
176 | }
177 |
178 | .SREntry {
179 | font-size: 10pt;
180 | padding-left: 1ex;
181 | }
182 |
183 | .SRPage .SREntry {
184 | font-size: 8pt;
185 | padding: 1px 5px;
186 | }
187 |
188 | body.SRPage {
189 | margin: 5px 2px;
190 | }
191 |
192 | .SRChildren {
193 | padding-left: 3ex; padding-bottom: .5em
194 | }
195 |
196 | .SRPage .SRChildren {
197 | display: none;
198 | }
199 |
200 | .SRSymbol {
201 | font-weight: bold;
202 | color: #425E97;
203 | font-family: Arial, Verdana, sans-serif;
204 | text-decoration: none;
205 | outline: none;
206 | }
207 |
208 | a.SRScope {
209 | display: block;
210 | color: #425E97;
211 | font-family: Arial, Verdana, sans-serif;
212 | text-decoration: none;
213 | outline: none;
214 | }
215 |
216 | a.SRSymbol:focus, a.SRSymbol:active,
217 | a.SRScope:focus, a.SRScope:active {
218 | text-decoration: underline;
219 | }
220 |
221 | span.SRScope {
222 | padding-left: 4px;
223 | }
224 |
225 | .SRPage .SRStatus {
226 | padding: 2px 5px;
227 | font-size: 8pt;
228 | font-style: italic;
229 | }
230 |
231 | .SRResult {
232 | display: none;
233 | }
234 |
235 | DIV.searchresults {
236 | margin-left: 10px;
237 | margin-right: 10px;
238 | }
239 |
240 | /*---------------- External search page results */
241 |
242 | .searchresult {
243 | background-color: #F0F3F8;
244 | }
245 |
246 | .pages b {
247 | color: white;
248 | padding: 5px 5px 3px 5px;
249 | background-image: url("../tab_a.png");
250 | background-repeat: repeat-x;
251 | text-shadow: 0 1px 1px #000000;
252 | }
253 |
254 | .pages {
255 | line-height: 17px;
256 | margin-left: 4px;
257 | text-decoration: none;
258 | }
259 |
260 | .hl {
261 | font-weight: bold;
262 | }
263 |
264 | #searchresults {
265 | margin-bottom: 20px;
266 | }
267 |
268 | .searchpages {
269 | margin-top: 10px;
270 | }
271 |
272 |
--------------------------------------------------------------------------------
/docs/search/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/search/search.png
--------------------------------------------------------------------------------
/docs/search/search_l.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/search/search_l.png
--------------------------------------------------------------------------------
/docs/search/search_m.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/search/search_m.png
--------------------------------------------------------------------------------
/docs/search/search_r.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/search/search_r.png
--------------------------------------------------------------------------------
/docs/sync_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/sync_off.png
--------------------------------------------------------------------------------
/docs/sync_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/sync_on.png
--------------------------------------------------------------------------------
/docs/tab_a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/tab_a.png
--------------------------------------------------------------------------------
/docs/tab_b.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/tab_b.gif
--------------------------------------------------------------------------------
/docs/tab_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/tab_b.png
--------------------------------------------------------------------------------
/docs/tab_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/tab_h.png
--------------------------------------------------------------------------------
/docs/tab_l.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/tab_l.gif
--------------------------------------------------------------------------------
/docs/tab_r.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/tab_r.gif
--------------------------------------------------------------------------------
/docs/tab_s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qcloudsms/qcloudsms_csharp/3d946b460ed137ee21705b1c070361bd75ae5ae5/docs/tab_s.png
--------------------------------------------------------------------------------
/docs/tabs.css:
--------------------------------------------------------------------------------
1 | .tabs, .tabs2, .tabs3 {
2 | background-image: url('tab_b.png');
3 | width: 100%;
4 | z-index: 101;
5 | font-size: 13px;
6 | font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
7 | }
8 |
9 | .tabs2 {
10 | font-size: 10px;
11 | }
12 | .tabs3 {
13 | font-size: 9px;
14 | }
15 |
16 | .tablist {
17 | margin: 0;
18 | padding: 0;
19 | display: table;
20 | }
21 |
22 | .tablist li {
23 | float: left;
24 | display: table-cell;
25 | background-image: url('tab_b.png');
26 | line-height: 36px;
27 | list-style: none;
28 | }
29 |
30 | .tablist a {
31 | display: block;
32 | padding: 0 20px;
33 | font-weight: bold;
34 | background-image:url('tab_s.png');
35 | background-repeat:no-repeat;
36 | background-position:right;
37 | color: #283A5D;
38 | text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
39 | text-decoration: none;
40 | outline: none;
41 | }
42 |
43 | .tabs3 .tablist a {
44 | padding: 0 10px;
45 | }
46 |
47 | .tablist a:hover {
48 | background-image: url('tab_h.png');
49 | background-repeat:repeat-x;
50 | color: #fff;
51 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
52 | text-decoration: none;
53 | }
54 |
55 | .tablist li.current a {
56 | background-image: url('tab_a.png');
57 | background-repeat:repeat-x;
58 | color: #fff;
59 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
60 | }
61 |
--------------------------------------------------------------------------------
/gendoc.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | doxygen ./doxygen.conf
4 |
--------------------------------------------------------------------------------
/qcloudsms_csharp.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | netstandard2.0;net461;net451;net452;net40;net471;net47;
4 | qcloud.qcloudsms_csharp
5 | 0.1.6
6 | qcloudsms
7 | qcloudsms
8 | qcloudsms c# sdk
9 | false
10 | The first release version of qcloudsms c# sdk.
11 | Copyright 2017 (c) Tencent Cloud. All Rights Reserved.
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/qcloudsms_csharp.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $id$
5 | $version$
6 | $title$
7 | $author$
8 | $author$
9 | https://opensource.org/licenses/MIT
10 | https://github.com/qcloudsms/qcloudsms_py
11 | https://avatars2.githubusercontent.com/u/20947692
12 | false
13 | qcloudsms c# sdk
14 | The first release version of qcloudsms c# sdk.
15 | Copyright 2017 (c) Tencent Cloud. All Rights Reserved.
16 | qcloud sms qcloudsms qcloudsms_csharp
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/FileVoiceSender.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 | using System;
5 |
6 |
7 | namespace qcloudsms_csharp
8 | {
9 | public class FileVoiceSender : SmsBase
10 | {
11 | private string url = "https://cloud.tim.qq.com/v5/tlsvoicesvr/sendfvoice";
12 |
13 | public FileVoiceSender(int appid, string appkey) : base(appid, appkey, new DefaultHTTPClient())
14 | { }
15 |
16 | public FileVoiceSender(int appid, string appkey, IHTTPClient httpclient) : base(appid, appkey, httpclient)
17 | { }
18 |
19 | ///
20 | /// Send a file voice.
21 | ///
22 | /// nation dialing code, e.g. China is 86, USA is 1
23 | /// phone number
24 | /// voice file fid
25 | /// playtimes, optional, max is 3, default is 2
26 | /// ext field, content will be returned by server as it is
27 | /// FileVoiceSenderResult
28 | public FileVoiceSenderResult send(string nationCode, string phoneNumber, string fid,
29 | int playtimes, string ext)
30 | {
31 | long random = SmsSenderUtil.getRandom();
32 | long now = SmsSenderUtil.getCurrentTime();
33 | JSONObjectBuilder body = new JSONObjectBuilder()
34 | .Put("tel", (new JSONObjectBuilder()).Put("nationcode", nationCode).Put("mobile", phoneNumber).Build())
35 | .Put("fid", fid)
36 | .Put("playtimes", playtimes)
37 | .Put("sig", SmsSenderUtil.calculateSignature(this.appkey, random, now, phoneNumber))
38 | .Put("time", now)
39 | .Put("ext", !String.IsNullOrEmpty(ext) ? ext : "");
40 |
41 | HTTPRequest req = new HTTPRequest(HTTPMethod.POST, this.url)
42 | .addHeader("Content-Type", "application/json")
43 | .addQueryParameter("sdkappid", this.appid)
44 | .addQueryParameter("random", random)
45 | .setConnectionTimeout(60 * 1000)
46 | .setRequestTimeout(60 * 1000)
47 | .setBody(body.Build().ToString());
48 |
49 | // May throw HttpRequestException
50 | HTTPResponse res = httpclient.fetch(req);
51 |
52 | // May throw HTTPException
53 | handleError(res);
54 |
55 | FileVoiceSenderResult result = new FileVoiceSenderResult();
56 | // May throw JSONException
57 | result.parseFromHTTPResponse(res);
58 |
59 | return result;
60 | }
61 | }
62 | }
--------------------------------------------------------------------------------
/src/FileVoiceSenderResult.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 | using Newtonsoft.Json;
5 | using Newtonsoft.Json.Linq;
6 |
7 | using System;
8 |
9 |
10 | namespace qcloudsms_csharp
11 | {
12 | public class FileVoiceSenderResult : SmsResultBase
13 | {
14 | public int result;
15 | public string errMsg;
16 | public string ext;
17 | public string callid;
18 |
19 | public FileVoiceSenderResult()
20 | {
21 | this.errMsg = "";
22 | this.ext = "";
23 | this.callid = "";
24 | }
25 |
26 | public override void parseFromHTTPResponse(HTTPResponse response)
27 | {
28 | JObject json = parseToJson(response);
29 |
30 | try
31 | {
32 | result = json.GetValue("result").Value();
33 | errMsg = json.GetValue("errmsg").Value();
34 | }
35 | catch (ArgumentNullException e)
36 | {
37 | throw new JSONException(String.Format("res: {0}, exception: {1}", response.body, e.Message));
38 | }
39 |
40 | if (json["ext"] != null)
41 | {
42 | ext = json.GetValue("ext").Value();
43 | }
44 | if (json["callid"] != null)
45 | {
46 | callid = json.GetValue("callid").Value();
47 | }
48 |
49 | }
50 | }
51 | }
--------------------------------------------------------------------------------
/src/SmsBase.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 |
3 | using System;
4 |
5 |
6 | namespace qcloudsms_csharp
7 | {
8 | public class SmsBase
9 | {
10 | protected int appid { get; }
11 | protected string appkey { get; }
12 | protected IHTTPClient httpclient { get; set; }
13 |
14 | public SmsBase(int appid, string appkey, IHTTPClient httpclient)
15 | {
16 | this.appid = appid;
17 | this.appkey = appkey;
18 | this.httpclient = httpclient;
19 | }
20 |
21 | /**
22 | * Handle http status error
23 | *
24 | * @param response raw http response
25 | * @return response raw http response
26 | * @throws HTTPException http status exception
27 | */
28 | public HTTPResponse handleError(HTTPResponse response)
29 | {
30 | if (response.statusCode < 200 || response.statusCode >= 300)
31 | {
32 | throw new HTTPException(response.statusCode, response.reason);
33 | }
34 | return response;
35 | }
36 | }
37 | }
--------------------------------------------------------------------------------
/src/SmsMobileStatusPuller.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 |
5 | namespace qcloudsms_csharp
6 | {
7 | public class SmsMobileStatusPuller : SmsBase
8 | {
9 | private string url = "https://yun.tim.qq.com/v5/tlssmssvr/pullstatus4mobile";
10 |
11 | public SmsMobileStatusPuller(int appid, string appkey)
12 | : base(appid, appkey, new DefaultHTTPClient())
13 | { }
14 |
15 | public SmsMobileStatusPuller(int appid, string appkey, IHTTPClient httpclient)
16 | : base(appid, appkey, httpclient)
17 | { }
18 |
19 | private HTTPResponse pull(int type, string nationCode, string mobile, long beginTime,
20 | long endTime, int max)
21 | {
22 | long random = SmsSenderUtil.getRandom();
23 | long now = SmsSenderUtil.getCurrentTime();
24 | JSONObjectBuilder body = new JSONObjectBuilder();
25 | body.Put("sig", SmsSenderUtil.calculateSignature(this.appkey, random, now))
26 | .Put("type", type)
27 | .Put("time", now)
28 | .Put("max", max)
29 | .Put("begin_time", beginTime)
30 | .Put("end_time", endTime)
31 | .Put("nationcode", nationCode)
32 | .Put("mobile", mobile);
33 |
34 | HTTPRequest req = new HTTPRequest(HTTPMethod.POST, this.url)
35 | .addHeader("Conetent-Type", "application/json")
36 | .addQueryParameter("sdkappid", this.appid)
37 | .addQueryParameter("random", random)
38 | .setConnectionTimeout(60 * 1000)
39 | .setRequestTimeout(60 * 10000)
40 | .setBody(body.Build().ToString());
41 |
42 | // May throw HttpRequestException
43 | HTTPResponse res = httpclient.fetch(req);
44 |
45 | // May throw HTTPException
46 | handleError(res);
47 |
48 | return res;
49 | }
50 |
51 | ///
52 | /// Pull SMS messages status for single mobile.
53 | ///
54 | /// nation dialing code, e.g. China is 86, USA is 1
55 | /// mobile number
56 | /// begin time, unix timestamp
57 | /// begin time, unix timestamp
58 | /// maximum number of message status
59 | /// SmsStatusPullCallbackResult
60 | public SmsStatusPullCallbackResult pullCallback(string nationCode, string mobile,
61 | long beginTime, long endTime, int max)
62 | {
63 | // May throw HttpRequestException
64 | HTTPResponse res = pull(0, nationCode, mobile, beginTime, endTime, max);
65 |
66 | SmsStatusPullCallbackResult result = new SmsStatusPullCallbackResult();
67 | // May throw JSONException
68 | result.parseFromHTTPResponse(res);
69 |
70 | return result;
71 | }
72 |
73 | ///
74 | /// Pull reply SMS message status for single mobile.
75 | ///
76 | /// nation dialing code, e.g. China is 86, USA is 1
77 | /// mobile number
78 | /// begin time, unix timestamp
79 | /// end time, unix timestamp
80 | /// maximum number of message status
81 | /// SmsStatusPullReplyResult
82 | public SmsStatusPullReplyResult pullReply(string nationCode, string mobile,
83 | long beginTime, long endTime, int max)
84 | {
85 | // May throw HttpRequestException
86 | HTTPResponse res = pull(1, nationCode, mobile, beginTime, endTime, max);
87 |
88 | SmsStatusPullReplyResult result = new SmsStatusPullReplyResult();
89 | // May throw JSONException
90 | result.parseFromHTTPResponse(res);
91 |
92 | return result;
93 | }
94 | }
95 | }
--------------------------------------------------------------------------------
/src/SmsMultiSenderResult.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 | using Newtonsoft.Json;
5 | using Newtonsoft.Json.Linq;
6 |
7 | using System;
8 | using System.Collections.Generic;
9 |
10 |
11 | namespace qcloudsms_csharp
12 | {
13 | public class SmsMultiSenderResult : SmsResultBase
14 | {
15 | public class Detail
16 | {
17 | public int result;
18 | public string errmsg = "";
19 | public string mobile = "";
20 | public string nationcode = "";
21 | public string sid = "";
22 | public int fee;
23 |
24 | public override string ToString()
25 | {
26 | return JsonConvert.SerializeObject(this);
27 | }
28 |
29 | public Detail parse(JObject json)
30 | {
31 | try
32 | {
33 | result = json.GetValue("result").Value();
34 | errmsg = json.GetValue("errmsg").Value();
35 | }
36 | catch (ArgumentNullException e)
37 | {
38 | throw new JSONException(String.Format("json: {0}, exception: {1}", json, e.Message));
39 | }
40 |
41 | if (json["mobile"] != null)
42 | {
43 | mobile = json.GetValue("mobile").Value();
44 | }
45 | if (json["nationcode"] != null)
46 | {
47 | nationcode = json.GetValue("nationcode").Value();
48 | }
49 | if (json["sid"] != null)
50 | {
51 | sid = json.GetValue("sid").Value();
52 | }
53 | if (json["fee"] != null)
54 | {
55 | fee = json.GetValue("fee").Value();
56 | }
57 |
58 | return this;
59 | }
60 | }
61 |
62 | public int result;
63 | public string errMsg;
64 | public string ext;
65 | public List details;
66 |
67 | public SmsMultiSenderResult()
68 | {
69 | this.errMsg = "";
70 | this.ext = "";
71 | this.details = new List();
72 | }
73 |
74 | public override void parseFromHTTPResponse(HTTPResponse response)
75 | {
76 | JObject json = parseToJson(response);
77 |
78 | try
79 | {
80 | result = json.GetValue("result").Value();
81 | errMsg = json.GetValue("errmsg").Value();
82 | }
83 | catch (ArgumentNullException e)
84 | {
85 | throw new JSONException(String.Format("res: {0}, exception: {1}", response.body, e.Message));
86 | }
87 |
88 | if (json["ext"] != null)
89 | {
90 | ext = json.GetValue("ext").Value();
91 | }
92 | if (json["detail"] != null)
93 | {
94 | foreach (JObject item in json["detail"])
95 | {
96 | details.Add((new Detail()).parse(item));
97 | }
98 | }
99 | }
100 | }
101 | }
--------------------------------------------------------------------------------
/src/SmsResultBase.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 | using Newtonsoft.Json.Linq;
5 | using Newtonsoft.Json;
6 |
7 |
8 | namespace qcloudsms_csharp
9 | {
10 | public abstract class SmsResultBase
11 | {
12 | protected HTTPResponse response;
13 |
14 | /**
15 | * Parse result from HTTPResponse
16 | *
17 | * @param response HTTP response from api return
18 | * @return SmsResultbase
19 | * @throws JSONException json parse exception
20 | */
21 | public abstract void parseFromHTTPResponse(HTTPResponse response);
22 |
23 | /**
24 | * Parse HTTP response to JSONObject
25 | *
26 | * @param response HTTP response
27 | * @return JSONObject
28 | * @throws JSONException json parse exception
29 | */
30 | public JObject parseToJson(HTTPResponse response)
31 | {
32 | // Set raw response
33 | this.response = response;
34 | try
35 | {
36 | return JObject.Parse(response.body);
37 | }
38 | catch (JsonReaderException e)
39 | {
40 | throw new JSONException(e.Message);
41 | }
42 | }
43 |
44 | /**
45 | * Get raw response
46 | *
47 | * @return HTTPResponse
48 | */
49 | public HTTPResponse getResponse()
50 | {
51 | return response;
52 | }
53 |
54 | public override string ToString()
55 | {
56 | return response.body;
57 | }
58 | }
59 | }
--------------------------------------------------------------------------------
/src/SmsSenderUtil.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Text;
3 | using System.Security.Cryptography;
4 |
5 | namespace qcloudsms_csharp
6 | {
7 | public static class SmsSenderUtil
8 | {
9 | public static long getCurrentTime()
10 | {
11 | return (long)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
12 | }
13 |
14 | public static long getRandom()
15 | {
16 | return (new Random((int)SmsSenderUtil.getCurrentTime())).Next() % 900000L + 100000L;
17 | }
18 |
19 | public static string calculateSignature(string appkey, long random, long time,
20 | string phoneNumber)
21 | {
22 | StringBuilder builder = new StringBuilder("appkey=")
23 | .Append(appkey)
24 | .Append("&random=")
25 | .Append(random)
26 | .Append("&time=")
27 | .Append(time)
28 | .Append("&mobile=")
29 | .Append(phoneNumber);
30 |
31 | return sha256(builder.ToString());
32 | }
33 |
34 | public static string calculateSignature(string appkey, long random, long time,
35 | string[] phoneNumbers)
36 | {
37 | StringBuilder builder = new StringBuilder("appkey=")
38 | .Append(appkey)
39 | .Append("&random=")
40 | .Append(random)
41 | .Append("&time=")
42 | .Append(time)
43 | .Append("&mobile=");
44 |
45 | if (phoneNumbers.Length > 0)
46 | {
47 | builder.Append(phoneNumbers[0]);
48 | for (int i = 1; i < phoneNumbers.Length; i++)
49 | {
50 | builder.Append(",");
51 | builder.Append(phoneNumbers[i]);
52 | }
53 | }
54 |
55 | return sha256(builder.ToString());
56 | }
57 |
58 | public static string calculateSignature(string appkey, long random, long time)
59 | {
60 | StringBuilder builder = new StringBuilder("appkey=")
61 | .Append(appkey)
62 | .Append("&random=")
63 | .Append(random)
64 | .Append("&time=")
65 | .Append(time);
66 |
67 | return sha256(builder.ToString());
68 | }
69 |
70 | public static string calculateAuth(String appkey, long random, long time, String fileSha1Sum)
71 | {
72 | StringBuilder builder = new StringBuilder("appkey=")
73 | .Append(appkey)
74 | .Append("&random=")
75 | .Append(random)
76 | .Append("&time=")
77 | .Append(time)
78 | .Append("&content-sha1=")
79 | .Append(fileSha1Sum);
80 |
81 | return sha256(builder.ToString());
82 | }
83 |
84 | public static String sha1sum(byte[] bytes)
85 | {
86 | byte[] hash = SHA1Managed.Create().ComputeHash(bytes);
87 |
88 | StringBuilder builder = new StringBuilder();
89 | for (int i = 0; i < hash.Length; i++)
90 | {
91 | builder.Append(hash[i].ToString("X2"));
92 | }
93 | return builder.ToString().ToLower();
94 | }
95 |
96 | private static string sha256(string rawString)
97 | {
98 | byte[] bytes = Encoding.UTF8.GetBytes(rawString);
99 | byte[] hash = SHA256Managed.Create().ComputeHash(bytes);
100 |
101 | StringBuilder builder = new StringBuilder();
102 | for (int i = 0; i < hash.Length; i++)
103 | {
104 | builder.Append(hash[i].ToString("X2"));
105 | }
106 | return builder.ToString().ToLower();
107 | }
108 | }
109 | }
--------------------------------------------------------------------------------
/src/SmsSingleSender.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 | using Newtonsoft.Json.Linq;
5 |
6 | using System;
7 | using System.Net.Http;
8 |
9 |
10 | namespace qcloudsms_csharp
11 | {
12 | public class SmsSingleSender : SmsBase
13 | {
14 | private string url = "https://yun.tim.qq.com/v5/tlssmssvr/sendsms";
15 |
16 | public SmsSingleSender(int appid, string appkey)
17 | : base(appid, appkey, new DefaultHTTPClient())
18 | { }
19 |
20 | public SmsSingleSender(int appid, string appkey, IHTTPClient httpclient)
21 | : base(appid, appkey, httpclient)
22 | { }
23 |
24 | ///
25 | /// Send single SMS message.
26 | ///
27 | /// SMS message type, Enum{0: normal SMS, 1: marketing SMS}
28 | /// nation dialing code, e.g. China is 86, USA is 1
29 | /// phone number
30 | /// SMS message content< /param>
31 | /// extend field, default is empty string
32 | /// ext field, content will be returned by server as it is
33 | /// SmsSingleSenderResult
34 | public SmsSingleSenderResult send(int type, string nationCode, string phoneNumber,
35 | string msg, string extend, string ext)
36 | {
37 | long random = SmsSenderUtil.getRandom();
38 | long now = SmsSenderUtil.getCurrentTime();
39 | JSONObjectBuilder body = new JSONObjectBuilder()
40 | .Put("tel", (new JSONObjectBuilder()).Put("nationcode", nationCode).Put("mobile", phoneNumber).Build())
41 | .Put("type", type)
42 | .Put("msg", msg)
43 | .Put("sig", SmsSenderUtil.calculateSignature(this.appkey, random, now, phoneNumber))
44 | .Put("time", now)
45 | .Put("extend", !String.IsNullOrEmpty(extend) ? extend : "")
46 | .Put("ext", !String.IsNullOrEmpty(ext) ? ext : "");
47 |
48 | HTTPRequest req = new HTTPRequest(HTTPMethod.POST, this.url)
49 | .addHeader("Conetent-Type", "application/json")
50 | .addQueryParameter("sdkappid", this.appid)
51 | .addQueryParameter("random", random)
52 | .setConnectionTimeout(60 * 1000)
53 | .setRequestTimeout(60 * 1000)
54 | .setBody(body.Build().ToString());
55 |
56 | // May throw HttpRequestException
57 | HTTPResponse res = httpclient.fetch(req);
58 |
59 | // May throw HTTPException
60 | handleError(res);
61 |
62 | SmsSingleSenderResult result = new SmsSingleSenderResult();
63 | // May throw JSONException
64 | result.parseFromHTTPResponse(res);
65 |
66 | return result;
67 | }
68 |
69 | ///
70 | /// Send single SMS message with template paramters.
71 | ///
72 | /// nation dialing code, e.g. China is 86, USA is 1
73 | /// phone number
74 | /// template id
75 | /// template parameters
76 | /// Sms user sign
77 | /// extend field, default is empty string
78 | /// ext field, content will be returned by server as it is
79 | /// SmsSingleSenderResult
80 | public SmsSingleSenderResult sendWithParam(string nationCode, string phoneNumber, int templateId,
81 | string[] parameters, string sign, string extend, string ext)
82 | {
83 |
84 | long random = SmsSenderUtil.getRandom();
85 | long now = SmsSenderUtil.getCurrentTime();
86 |
87 | JSONObjectBuilder body = new JSONObjectBuilder()
88 | .Put("tel", (new JSONObjectBuilder()).Put("nationcode", nationCode).Put("mobile", phoneNumber).Build())
89 | .Put("sig", SmsSenderUtil.calculateSignature(appkey, random, now, phoneNumber))
90 | .Put("tpl_id", templateId)
91 | .PutArray("params", parameters)
92 | .Put("sign", !String.IsNullOrEmpty(sign) ? sign : "")
93 | .Put("time", now)
94 | .Put("extend", !String.IsNullOrEmpty(extend) ? extend : "")
95 | .Put("ext", !String.IsNullOrEmpty(ext) ? ext : "");
96 |
97 | HTTPRequest req = new HTTPRequest(HTTPMethod.POST, this.url)
98 | .addHeader("Conetent-Type", "application/json")
99 | .addQueryParameter("sdkappid", this.appid)
100 | .addQueryParameter("random", random)
101 | .setConnectionTimeout(60 * 1000)
102 | .setRequestTimeout(60 * 1000)
103 | .setBody(body.Build().ToString());
104 |
105 | // May throw HttpRequestException
106 | HTTPResponse res = httpclient.fetch(req);
107 |
108 | // May throw HTTPException
109 | handleError(res);
110 |
111 | SmsSingleSenderResult result = new SmsSingleSenderResult();
112 | // May throw JSONException
113 | result.parseFromHTTPResponse(res);
114 |
115 | return result;
116 | }
117 | }
118 | }
119 |
--------------------------------------------------------------------------------
/src/SmsSingleSenderResult.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 | using Newtonsoft.Json;
5 | using Newtonsoft.Json.Linq;
6 |
7 | using System;
8 |
9 |
10 | namespace qcloudsms_csharp
11 | {
12 | public class SmsSingleSenderResult : SmsResultBase
13 | {
14 | public int result;
15 | public string errMsg;
16 | public string ext;
17 | public string sid;
18 | public int fee;
19 |
20 | public SmsSingleSenderResult()
21 | {
22 | this.errMsg = "";
23 | this.ext = "";
24 | this.sid = "";
25 | this.fee = 0;
26 | }
27 |
28 | public override void parseFromHTTPResponse(HTTPResponse response)
29 | {
30 | JObject json = parseToJson(response);
31 |
32 | try
33 | {
34 | result = json.GetValue("result").Value();
35 | errMsg = json.GetValue("errmsg").Value();
36 | }
37 | catch (ArgumentNullException e)
38 | {
39 | throw new JSONException(String.Format("res: {0}, exception: {1}", response.body, e.Message));
40 | }
41 |
42 | if (json["ext"] != null)
43 | {
44 | ext = json.GetValue("ext").Value();
45 | }
46 | if (json["sid"] != null)
47 | {
48 | sid = json.GetValue("sid").Value();
49 | }
50 | if (json["fee"] != null)
51 | {
52 | fee = json.GetValue("fee").Value();
53 | }
54 |
55 | }
56 | }
57 | }
--------------------------------------------------------------------------------
/src/SmsStatusPullCallbackResult.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 | using Newtonsoft.Json;
5 | using Newtonsoft.Json.Linq;
6 |
7 | using System;
8 | using System.Collections.Generic;
9 |
10 |
11 | namespace qcloudsms_csharp
12 | {
13 | public class SmsStatusPullCallbackResult : SmsResultBase
14 | {
15 | public class Callback
16 | {
17 | public string user_receive_time;
18 | public string nationcode;
19 | public string mobile;
20 | public string report_status;
21 | public string errmsg;
22 | public string description;
23 | public string sid;
24 |
25 | public override string ToString()
26 | {
27 | return JsonConvert.SerializeObject(this);
28 | }
29 |
30 | public Callback parse(JObject json)
31 | {
32 | try
33 | {
34 | user_receive_time = json.GetValue("user_receive_time").Value();
35 | nationcode = json.GetValue("nationcode").Value();
36 | mobile = json.GetValue("mobile").Value();
37 | report_status = json.GetValue("report_status").Value();
38 | errmsg = json.GetValue("errmsg").Value();
39 | description = json.GetValue("description").Value();
40 | sid = json.GetValue("sid").Value();
41 | }
42 | catch (ArgumentNullException e)
43 | {
44 | throw new JSONException(String.Format("json: {0}, exception: {1}", json, e.Message));
45 | }
46 |
47 | return this;
48 | }
49 | }
50 |
51 | public int result;
52 | public string errMsg;
53 | public int count;
54 | public List callbacks;
55 |
56 | public SmsStatusPullCallbackResult()
57 | {
58 | this.errMsg = "";
59 | this.count = 0;
60 | this.callbacks = new List();
61 | }
62 |
63 | public override void parseFromHTTPResponse(HTTPResponse response)
64 | {
65 | JObject json = parseToJson(response);
66 |
67 | try
68 | {
69 | result = json.GetValue("result").Value();
70 | errMsg = json.GetValue("errmsg").Value();
71 | }
72 | catch (ArgumentNullException e)
73 | {
74 | throw new JSONException(String.Format("res: {0}, exception: {1}", response.body, e.Message));
75 | }
76 |
77 | if (json["count"] != null)
78 | {
79 | count = json.GetValue("count").Value();
80 | }
81 | if (json["data"] != null)
82 | {
83 | foreach (JObject item in json["data"])
84 | {
85 | callbacks.Add((new Callback()).parse(item));
86 | }
87 | }
88 | }
89 | }
90 | }
--------------------------------------------------------------------------------
/src/SmsStatusPullReplyResult.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 | using Newtonsoft.Json;
5 | using Newtonsoft.Json.Linq;
6 |
7 | using System;
8 | using System.Collections.Generic;
9 |
10 |
11 | namespace qcloudsms_csharp
12 | {
13 | public class SmsStatusPullReplyResult : SmsResultBase
14 | {
15 | public class Reply
16 | {
17 | public string extend = "";
18 | public string nationcode;
19 | public string mobile;
20 | public string text;
21 | public string sign;
22 | public long time;
23 |
24 | public override string ToString()
25 | {
26 | return JsonConvert.SerializeObject(this);
27 | }
28 |
29 | public Reply parse(JObject json)
30 | {
31 | if (json["extend"] != null)
32 | {
33 | extend = json.GetValue("extend").Value();
34 | }
35 | try
36 | {
37 | nationcode = json.GetValue("nationcode").Value();
38 | mobile = json.GetValue("mobile").Value();
39 | text = json.GetValue("text").Value();
40 | sign = json.GetValue("sign").Value();
41 | time = json.GetValue("time").Value();
42 | }
43 | catch (ArgumentNullException e)
44 | {
45 | throw new JSONException(String.Format("json: {0}, exception: {1}", json, e.Message));
46 | }
47 |
48 | return this;
49 | }
50 | }
51 |
52 | public int result;
53 | public string errMsg;
54 | public int count;
55 | public List replys;
56 |
57 | public SmsStatusPullReplyResult()
58 | {
59 | this.replys = new List();
60 | }
61 |
62 | public override void parseFromHTTPResponse(HTTPResponse response)
63 | {
64 | JObject json = parseToJson(response);
65 |
66 | try
67 | {
68 | result = json.GetValue("result").Value();
69 | errMsg = json.GetValue("errmsg").Value();
70 | }
71 | catch (ArgumentNullException e)
72 | {
73 | throw new JSONException(String.Format("res: {0}, exception: {1}", response.body, e.Message));
74 | }
75 |
76 | if (json["count"] != null)
77 | {
78 | count = json.GetValue("count").Value();
79 | }
80 | if (json["data"] != null)
81 | {
82 | foreach (JObject item in json["data"])
83 | {
84 | replys.Add((new Reply()).parse(item));
85 | }
86 | }
87 | }
88 | }
89 | }
--------------------------------------------------------------------------------
/src/SmsStatusPuller.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 | namespace qcloudsms_csharp
5 | {
6 | public class SmsStatusPuller : SmsBase
7 | {
8 | private string url = "https://yun.tim.qq.com/v5/tlssmssvr/pullstatus";
9 |
10 | public SmsStatusPuller(int appid, string appkey)
11 | : base(appid, appkey, new DefaultHTTPClient())
12 | { }
13 |
14 | public SmsStatusPuller(int appid, string appkey, IHTTPClient httpclient)
15 | : base(appid, appkey, httpclient)
16 | { }
17 |
18 | private HTTPResponse pull(int type, int max)
19 | {
20 |
21 | long random = SmsSenderUtil.getRandom();
22 | long now = SmsSenderUtil.getCurrentTime();
23 | JSONObjectBuilder body = new JSONObjectBuilder()
24 | .Put("sig", SmsSenderUtil.calculateSignature(this.appkey, random, now))
25 | .Put("time", now)
26 | .Put("type", type)
27 | .Put("max", max);
28 |
29 | HTTPRequest req = new HTTPRequest(HTTPMethod.POST, this.url)
30 | .addHeader("Conetent-Type", "application/json")
31 | .addQueryParameter("sdkappid", this.appid)
32 | .addQueryParameter("random", random)
33 | .setConnectionTimeout(60 * 1000)
34 | .setRequestTimeout(60 * 10000)
35 | .setBody(body.Build().ToString());
36 |
37 | // May throw HttpRequestException
38 | HTTPResponse res = httpclient.fetch(req);
39 |
40 | // May throw HTTPException
41 | handleError(res);
42 |
43 | return res;
44 | }
45 |
46 | ///
47 | /// Pull callback SMS messages status.
48 | ///
49 | /// maximum number of message status
50 | /// SmsStatusPullCallbackResult
51 | public SmsStatusPullCallbackResult pullCallback(int max)
52 | {
53 | // May throw HttpRequestException
54 | HTTPResponse res = pull(0, max);
55 |
56 | SmsStatusPullCallbackResult result = new SmsStatusPullCallbackResult();
57 | // May throw JSONException
58 | result.parseFromHTTPResponse(res);
59 |
60 | return result;
61 | }
62 |
63 |
64 | ///
65 | /// Pull reply SMS messages status.
66 | ///
67 | /// maximum number of message status
68 | /// SmsStatusPullReplyResult
69 | public SmsStatusPullReplyResult pullReply(int max)
70 | {
71 |
72 | // May throw HttpRequestException
73 | HTTPResponse res = pull(1, max);
74 |
75 | SmsStatusPullReplyResult result = new SmsStatusPullReplyResult();
76 | // May throw JSONException
77 | result.parseFromHTTPResponse(res);
78 |
79 | return result;
80 | }
81 | }
82 | }
--------------------------------------------------------------------------------
/src/SmsVoicePromptSender.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 | using System;
5 |
6 |
7 | namespace qcloudsms_csharp
8 | {
9 | public class SmsVoicePromptSender : SmsBase
10 | {
11 | private string url = "https://cloud.tim.qq.com/v5/tlsvoicesvr/sendvoiceprompt";
12 |
13 | public SmsVoicePromptSender(int appid, string appkey) : base(appid, appkey, new DefaultHTTPClient())
14 | { }
15 |
16 | public SmsVoicePromptSender(int appid, string appkey, IHTTPClient httpclient) : base(appid, appkey, httpclient)
17 | { }
18 |
19 | ///
20 | /// Send a voice prompt message.
21 | ///
22 | /// nation dialing code, e.g. China is 86, USA is 1
23 | /// phone number
24 | /// voice prompt type, currently value is 2
25 | /// voice prompt message
26 | /// playtimes, optional, max is 3, default is 2
27 | /// ext field, content will be returned by server as it is
28 | /// SmsVoicePromptSenderResult
29 | public SmsVoicePromptSenderResult send(string nationCode, string phoneNumber, int prompttype,
30 | string msg, int playtimes, string ext)
31 | {
32 | long random = SmsSenderUtil.getRandom();
33 | long now = SmsSenderUtil.getCurrentTime();
34 | JSONObjectBuilder body = new JSONObjectBuilder()
35 | .Put("tel", (new JSONObjectBuilder()).Put("nationcode", nationCode).Put("mobile", phoneNumber).Build())
36 | .Put("prompttype", prompttype)
37 | .Put("promptfile", msg)
38 | .Put("playtimes", playtimes)
39 | .Put("sig", SmsSenderUtil.calculateSignature(this.appkey, random, now, phoneNumber))
40 | .Put("time", now)
41 | .Put("ext", !String.IsNullOrEmpty(ext) ? ext : "");
42 |
43 | HTTPRequest req = new HTTPRequest(HTTPMethod.POST, this.url)
44 | .addHeader("Conetent-Type", "application/json")
45 | .addQueryParameter("sdkappid", this.appid)
46 | .addQueryParameter("random", random)
47 | .setConnectionTimeout(60 * 1000)
48 | .setRequestTimeout(60 * 1000)
49 | .setBody(body.Build().ToString());
50 |
51 | // May throw HttpRequestException
52 | HTTPResponse res = httpclient.fetch(req);
53 |
54 | // May throw HTTPException
55 | handleError(res);
56 |
57 | SmsVoicePromptSenderResult result = new SmsVoicePromptSenderResult();
58 | // May throw JSONException
59 | result.parseFromHTTPResponse(res);
60 |
61 | return result;
62 | }
63 | }
64 | }
--------------------------------------------------------------------------------
/src/SmsVoicePromptSenderResult.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 | using Newtonsoft.Json;
5 | using Newtonsoft.Json.Linq;
6 |
7 | using System;
8 |
9 |
10 | namespace qcloudsms_csharp
11 | {
12 | public class SmsVoicePromptSenderResult : SmsResultBase
13 | {
14 | public int result;
15 | public string errMsg;
16 | public string ext;
17 | public string callid;
18 |
19 | public SmsVoicePromptSenderResult()
20 | {
21 | this.errMsg = "";
22 | this.ext = "";
23 | this.callid = "";
24 | }
25 |
26 | public override void parseFromHTTPResponse(HTTPResponse response)
27 | {
28 | JObject json = parseToJson(response);
29 |
30 | try
31 | {
32 | result = json.GetValue("result").Value();
33 | errMsg = json.GetValue("errmsg").Value();
34 | }
35 | catch (ArgumentNullException e)
36 | {
37 | throw new JSONException(String.Format("res: {0}, exception: {1}", response.body, e.Message));
38 | }
39 |
40 | if (json["ext"] != null)
41 | {
42 | ext = json.GetValue("ext").Value();
43 | }
44 | if (json["callid"] != null)
45 | {
46 | callid = json.GetValue("callid").Value();
47 | }
48 |
49 | }
50 | }
51 | }
--------------------------------------------------------------------------------
/src/SmsVoiceVerifyCodeSender.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 | using System;
5 |
6 |
7 | namespace qcloudsms_csharp
8 | {
9 | public class SmsVoiceVerifyCodeSender : SmsBase
10 | {
11 | private String url = "https://cloud.tim.qq.com/v5/tlsvoicesvr/sendvoice";
12 |
13 | public SmsVoiceVerifyCodeSender(int appid, String appkey)
14 | : base(appid, appkey, new DefaultHTTPClient())
15 | { }
16 |
17 | public SmsVoiceVerifyCodeSender(int appid, String appkey, IHTTPClient httpclient)
18 | : base(appid, appkey, httpclient)
19 | { }
20 |
21 | ///
22 | /// Send a voice verify code message.
23 | ///
24 | /// nation dialing code, e.g. China is 86, USA is 1
25 | /// phone number
26 | /// voice verify code message
27 | /// playtimes, optional, max is 3, default is 2
28 | /// ext field, content will be returned by server as it is
29 | ///
30 | public SmsVoiceVerifyCodeSenderResult send(String nationCode, String phoneNumber, String msg,
31 | int playtimes, String ext)
32 | {
33 | long random = SmsSenderUtil.getRandom();
34 | long now = SmsSenderUtil.getCurrentTime();
35 | JSONObjectBuilder body = new JSONObjectBuilder();
36 | body.Put("tel", (new JSONObjectBuilder()).Put("nationcode", nationCode).Put("mobile", phoneNumber).Build())
37 | .Put("msg", msg)
38 | .Put("playtimes", playtimes)
39 | .Put("sig", SmsSenderUtil.calculateSignature(this.appkey, random, now, phoneNumber))
40 | .Put("time", now)
41 | .Put("ext", !String.IsNullOrEmpty(ext) ? ext : "");
42 |
43 | HTTPRequest req = new HTTPRequest(HTTPMethod.POST, this.url)
44 | .addHeader("Conetent-Type", "application/json")
45 | .addQueryParameter("sdkappid", this.appid)
46 | .addQueryParameter("random", random)
47 | .setConnectionTimeout(60 * 1000)
48 | .setRequestTimeout(60 * 1000)
49 | .setBody(body.Build().ToString());
50 |
51 | // May throw HttpRequestException
52 | HTTPResponse res = httpclient.fetch(req);
53 |
54 | // May throw HTTPException
55 | handleError(res);
56 |
57 | SmsVoiceVerifyCodeSenderResult result = new SmsVoiceVerifyCodeSenderResult();
58 | // May throw JSONException
59 | result.parseFromHTTPResponse(res);
60 |
61 | return result;
62 | }
63 | }
64 | }
--------------------------------------------------------------------------------
/src/SmsVoiceVerifyCodeSenderResult.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 | using Newtonsoft.Json;
5 | using Newtonsoft.Json.Linq;
6 |
7 | using System;
8 |
9 |
10 | namespace qcloudsms_csharp
11 | {
12 | public class SmsVoiceVerifyCodeSenderResult : SmsResultBase
13 | {
14 | public int result;
15 | public string errMsg;
16 | public string ext;
17 | public string callid;
18 |
19 | public SmsVoiceVerifyCodeSenderResult()
20 | {
21 | this.errMsg = "";
22 | this.ext = "";
23 | this.callid = "";
24 | }
25 |
26 | public override void parseFromHTTPResponse(HTTPResponse response)
27 | {
28 | JObject json = parseToJson(response);
29 |
30 | try
31 | {
32 | result = json.GetValue("result").Value();
33 | errMsg = json.GetValue("errmsg").Value();
34 | }
35 | catch (ArgumentNullException e)
36 | {
37 | throw new JSONException(String.Format("res: {0}, exception: {1}", response.body, e.Message));
38 | }
39 |
40 | if (json["ext"] != null)
41 | {
42 | ext = json.GetValue("ext").Value();
43 | }
44 | if (json["callid"] != null)
45 | {
46 | callid = json.GetValue("callid").Value();
47 | }
48 | }
49 | }
50 | }
--------------------------------------------------------------------------------
/src/TtsVoiceSender.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 | using System;
5 |
6 |
7 | namespace qcloudsms_csharp
8 | {
9 | public class TtsVoiceSender : SmsBase
10 | {
11 | private string url = "https://cloud.tim.qq.com/v5/tlsvoicesvr/sendtvoice";
12 |
13 | public TtsVoiceSender(int appid, string appkey) : base(appid, appkey, new DefaultHTTPClient())
14 | { }
15 |
16 | public TtsVoiceSender(int appid, string appkey, IHTTPClient httpclient) : base(appid, appkey, httpclient)
17 | { }
18 |
19 | ///
20 | /// Send a tts voice.
21 | ///
22 | /// nation dialing code, e.g. China is 86, USA is 1
23 | /// phone number
24 | /// template id
25 | /// template parameters
26 | /// playtimes, optional, max is 3, default is 2
27 | /// ext field, content will be returned by server as it is
28 | /// TtsVoiceSenderResult
29 | public TtsVoiceSenderResult send(string nationCode, string phoneNumber, int templateId,
30 | string[] parameters, int playtimes, string ext)
31 | {
32 | long random = SmsSenderUtil.getRandom();
33 | long now = SmsSenderUtil.getCurrentTime();
34 | JSONObjectBuilder body = new JSONObjectBuilder()
35 | .Put("tel", (new JSONObjectBuilder()).Put("nationcode", nationCode).Put("mobile", phoneNumber).Build())
36 | .Put("tpl_id", templateId)
37 | .PutArray("params", parameters)
38 | .Put("playtimes", playtimes)
39 | .Put("sig", SmsSenderUtil.calculateSignature(this.appkey, random, now, phoneNumber))
40 | .Put("time", now)
41 | .Put("ext", !String.IsNullOrEmpty(ext) ? ext : "");
42 |
43 | HTTPRequest req = new HTTPRequest(HTTPMethod.POST, this.url)
44 | .addHeader("Conetent-Type", "application/json")
45 | .addQueryParameter("sdkappid", this.appid)
46 | .addQueryParameter("random", random)
47 | .setConnectionTimeout(60 * 1000)
48 | .setRequestTimeout(60 * 1000)
49 | .setBody(body.Build().ToString());
50 |
51 | // May throw HttpRequestException
52 | HTTPResponse res = httpclient.fetch(req);
53 |
54 | // May throw HTTPException
55 | handleError(res);
56 |
57 | TtsVoiceSenderResult result = new TtsVoiceSenderResult();
58 | // May throw JSONException
59 | result.parseFromHTTPResponse(res);
60 |
61 | return result;
62 | }
63 | }
64 | }
--------------------------------------------------------------------------------
/src/TtsVoiceSenderResult.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 | using Newtonsoft.Json;
5 | using Newtonsoft.Json.Linq;
6 |
7 | using System;
8 |
9 |
10 | namespace qcloudsms_csharp
11 | {
12 | public class TtsVoiceSenderResult : SmsResultBase
13 | {
14 | public int result;
15 | public string errMsg;
16 | public string ext;
17 | public string callid;
18 |
19 | public TtsVoiceSenderResult()
20 | {
21 | this.errMsg = "";
22 | this.ext = "";
23 | this.callid = "";
24 | }
25 |
26 | public override void parseFromHTTPResponse(HTTPResponse response)
27 | {
28 | JObject json = parseToJson(response);
29 |
30 | try
31 | {
32 | result = json.GetValue("result").Value();
33 | errMsg = json.GetValue("errmsg").Value();
34 | }
35 | catch (ArgumentNullException e)
36 | {
37 | throw new JSONException(String.Format("res: {0}, exception: {1}", response.body, e.Message));
38 | }
39 |
40 | if (json["ext"] != null)
41 | {
42 | ext = json.GetValue("ext").Value();
43 | }
44 | if (json["callid"] != null)
45 | {
46 | callid = json.GetValue("callid").Value();
47 | }
48 |
49 | }
50 | }
51 | }
--------------------------------------------------------------------------------
/src/VoiceFileUploader.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 | using System;
5 | using System.Text;
6 |
7 |
8 | namespace qcloudsms_csharp
9 | {
10 | public class VoiceFileUploader : SmsBase
11 | {
12 | public enum ContentType
13 | {
14 | WAV, MP3
15 | }
16 |
17 | private string url = "https://cloud.tim.qq.com/v5/tlsvoicesvr/uploadvoicefile";
18 |
19 | public VoiceFileUploader(int appid, string appkey) : base(appid, appkey, new DefaultHTTPClient())
20 | { }
21 |
22 | public VoiceFileUploader(int appid, string appkey, IHTTPClient httpclient) : base(appid, appkey, httpclient)
23 | { }
24 |
25 | ///
26 | /// Send a file voice.
27 | ///
28 | /// file content bytes
29 | /// file content type
30 | /// VoiceFileUploaderResult
31 | public VoiceFileUploaderResult upload(byte[] fileContent, ContentType contentType)
32 | {
33 | long random = SmsSenderUtil.getRandom();
34 | long now = SmsSenderUtil.getCurrentTime();
35 | string fileSha1Sum = SmsSenderUtil.sha1sum(fileContent);
36 | string auth = SmsSenderUtil.calculateAuth(this.appkey, random, now, fileSha1Sum);;
37 |
38 | string type;
39 | if (contentType == ContentType.WAV)
40 | {
41 | type = "audio/wav";
42 | }
43 | else
44 | {
45 | type = "audio/mpeg";
46 | }
47 |
48 | Encoding iso = Encoding.GetEncoding("ISO-8859-1");
49 | HTTPRequest req = new HTTPRequest(HTTPMethod.POST, this.url)
50 | .addHeader("Content-Type", type)
51 | .addHeader("x-content-sha1", fileSha1Sum)
52 | .addHeader("Authorization", auth)
53 | .addQueryParameter("sdkappid", this.appid)
54 | .addQueryParameter("random", random)
55 | .addQueryParameter("time", now)
56 | .setConnectionTimeout(60 * 1000)
57 | .setRequestTimeout(60 * 1000)
58 | .setBody(iso.GetString(fileContent))
59 | .setBodyEncoding(iso);
60 |
61 | // May throw HttpRequestException
62 | HTTPResponse res = httpclient.fetch(req);
63 |
64 | // May throw HTTPException
65 | handleError(res);
66 |
67 | VoiceFileUploaderResult result = new VoiceFileUploaderResult();
68 | // May throw JSONException
69 | result.parseFromHTTPResponse(res);
70 |
71 | return result;
72 | }
73 | }
74 | }
--------------------------------------------------------------------------------
/src/VoiceFileUploaderResult.cs:
--------------------------------------------------------------------------------
1 | using qcloudsms_csharp.httpclient;
2 | using qcloudsms_csharp.json;
3 |
4 | using Newtonsoft.Json;
5 | using Newtonsoft.Json.Linq;
6 |
7 | using System;
8 |
9 | namespace qcloudsms_csharp
10 | {
11 | public class VoiceFileUploaderResult : SmsResultBase
12 | {
13 | public int result;
14 | public string errMsg;
15 | public string fid;
16 |
17 | public VoiceFileUploaderResult()
18 | {
19 | this.errMsg = "";
20 | this.fid = "";
21 | }
22 |
23 | public override void parseFromHTTPResponse(HTTPResponse response)
24 | {
25 | JObject json = parseToJson(response);
26 |
27 | try
28 | {
29 | result = json.GetValue("result").Value();
30 | errMsg = json.GetValue("errmsg").Value();
31 | }
32 | catch (ArgumentNullException e)
33 | {
34 | throw new JSONException(String.Format("res: {0}, exception: {1}", response.body, e.Message));
35 | }
36 |
37 | if (json["fid"] != null)
38 | {
39 | fid = json.GetValue("fid").Value();
40 | }
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/src/httpclient/DefaultHTTPClient.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Text;
3 | using System.Net.Http;
4 | using System.Net.Http.Headers;
5 |
6 | namespace qcloudsms_csharp.httpclient
7 | {
8 | public class DefaultHTTPClient : IHTTPClient
9 | {
10 | public HTTPResponse fetch(HTTPRequest request)
11 | {
12 | UriBuilder uriBuilder = new UriBuilder(request.url);
13 | StringBuilder query = new StringBuilder();
14 | foreach (var parameter in request.parameters)
15 | {
16 | query.Append(parameter.Key);
17 | query.Append("=");
18 | query.Append(parameter.Value);
19 | query.Append("&");
20 | }
21 | query.Length--; // Remove the last '&' character
22 | uriBuilder.Query = query.ToString();
23 |
24 | HttpRequestMessage msg = new HttpRequestMessage();
25 | msg.RequestUri = uriBuilder.Uri;
26 | request.url = uriBuilder.Uri.ToString();
27 | msg.Method = new HttpMethod(request.method.ToString());
28 | msg.Content = new StringContent(request.body, request.bodyEncoding);
29 | foreach (var header in request.headers)
30 | {
31 | if (header.Key == "Content-Type")
32 | {
33 | msg.Content.Headers.ContentType = new MediaTypeHeaderValue(header.Value);
34 | }
35 | else
36 | {
37 | msg.Headers.TryAddWithoutValidation(header.Key, header.Value);
38 | }
39 | }
40 |
41 | // Create http client
42 | using (var client = new HttpClient())
43 | {
44 | // Fetch http response
45 | try
46 | {
47 | // Sync send request
48 | HttpResponseMessage response = client.SendAsync(msg).Result;
49 | // Sync read response body
50 | string responseBody = response.Content.ReadAsStringAsync().Result;
51 |
52 | HTTPResponse res = new HTTPResponse()
53 | .setRequest(request)
54 | .setStatusCode((int)response.StatusCode)
55 | .setReason(response.ReasonPhrase)
56 | .setBody(responseBody);
57 |
58 | foreach (var header in response.Headers)
59 | {
60 | foreach (var value in header.Value)
61 | {
62 | res.addHeader(header.Key, value);
63 | }
64 | }
65 |
66 | return res;
67 | }
68 | catch (HttpRequestException)
69 | {
70 | // not handle, re-throw
71 | throw;
72 | }
73 | }
74 | }
75 |
76 | public void close()
77 | { }
78 | }
79 | }
--------------------------------------------------------------------------------
/src/httpclient/HTTPException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace qcloudsms_csharp.httpclient
5 | {
6 | public class HTTPException : Exception
7 | {
8 | private int statusCode;
9 | private string reason;
10 |
11 | public HTTPException(int statusCode, string reason)
12 | {
13 | this.statusCode = statusCode;
14 | this.reason = reason;
15 | }
16 |
17 | public override string ToString()
18 | {
19 | return String.Format("HTTP statusCode: {0}, reason: {1}", statusCode, reason);
20 | }
21 |
22 | public int getStatusCode()
23 | {
24 | return statusCode;
25 | }
26 |
27 | public string getReason()
28 | {
29 | return reason;
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/src/httpclient/HTTPMethod.cs:
--------------------------------------------------------------------------------
1 | namespace qcloudsms_csharp.httpclient
2 | {
3 | public enum HTTPMethod
4 | {
5 | GET,
6 | POST,
7 | HEAD,
8 | PATCH,
9 | PUT,
10 | DLETE,
11 | OPTIONS
12 | }
13 | }
--------------------------------------------------------------------------------
/src/httpclient/HTTPRequest.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Text;
3 |
4 | namespace qcloudsms_csharp.httpclient
5 | {
6 | public class HTTPRequest
7 | {
8 | public HTTPMethod method { get; set; }
9 | public string url { get; set; }
10 | public string body;
11 |
12 | public Encoding bodyEncoding;
13 | public Dictionary headers;
14 | public Dictionary parameters;
15 | public int connectTimeout;
16 | public int requestTimeout;
17 |
18 |
19 | public HTTPRequest(HTTPMethod method, string url)
20 | {
21 | this.method = method;
22 | this.url = url;
23 | this.headers = new Dictionary();
24 | this.parameters = new Dictionary();
25 | this.bodyEncoding = System.Text.Encoding.UTF8;
26 | }
27 |
28 | public HTTPRequest setBody(string body)
29 | {
30 | this.body = body;
31 | return this;
32 | }
33 |
34 | public HTTPRequest setBodyEncoding(Encoding bodyEncoding)
35 | {
36 | this.bodyEncoding = bodyEncoding;
37 | return this;
38 | }
39 |
40 | public HTTPRequest addHeader(string name, string value)
41 | {
42 | headers.Add(name, value);
43 | return this;
44 | }
45 |
46 | public HTTPRequest addQueryParameter(string name, string value)
47 | {
48 | parameters.Add(name, value);
49 | return this;
50 | }
51 |
52 | public HTTPRequest addQueryParameter(string name, int value)
53 | {
54 | parameters.Add(name, value.ToString());
55 | return this;
56 | }
57 |
58 | public HTTPRequest addQueryParameter(string name, long value)
59 | {
60 | // TODO fix enum value name
61 | parameters.Add(name, value.ToString());
62 | return this;
63 | }
64 |
65 | public HTTPRequest setConnectionTimeout(int connectionTimeout)
66 | {
67 | this.connectTimeout = connectionTimeout;
68 | return this;
69 | }
70 |
71 | public HTTPRequest setRequestTimeout(int requestTimeout)
72 | {
73 | this.requestTimeout = requestTimeout;
74 | return this;
75 | }
76 |
77 | public override string ToString()
78 | {
79 | return string.Format("url: {0}, headers: {1}, body: {2}",
80 | url, headers.ToString(), body);
81 | }
82 | }
83 | }
--------------------------------------------------------------------------------
/src/httpclient/HTTPResponse.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 |
4 | namespace qcloudsms_csharp.httpclient
5 | {
6 | public class HTTPResponse
7 | {
8 | public HTTPRequest request;
9 | public int statusCode;
10 | public string reason;
11 | public string body;
12 | public Dictionary> headers;
13 |
14 | public HTTPResponse()
15 | {
16 | this.headers = new Dictionary>();
17 | }
18 |
19 | public HTTPResponse(int statusCode) : this()
20 | {
21 | this.statusCode = statusCode;
22 | }
23 |
24 | public HTTPResponse(int statusCode, string body) : this()
25 | {
26 | this.statusCode = statusCode;
27 | this.body = body;
28 | }
29 |
30 | public HTTPResponse(int statusCode, string body, string reason) : this()
31 | {
32 | this.statusCode = statusCode;
33 | this.body = body;
34 | this.reason = reason;
35 | }
36 |
37 | public HTTPResponse setStatusCode(int statusCode)
38 | {
39 | this.statusCode = statusCode;
40 | return this;
41 | }
42 |
43 | public HTTPResponse setBody(string body)
44 | {
45 | this.body = body;
46 | return this;
47 | }
48 |
49 | public HTTPResponse setReason(string reason)
50 | {
51 | this.reason = reason;
52 | return this;
53 | }
54 |
55 | public HTTPResponse addHeader(string name, string value)
56 | {
57 | if (!headers.ContainsKey(name)) {
58 | headers.Add(name, new List{value});
59 | } else {
60 | headers[name].Add(value);
61 | }
62 | return this;
63 | }
64 |
65 | public HTTPResponse setRequest(HTTPRequest request)
66 | {
67 | this.request = request;
68 | return this;
69 | }
70 | }
71 | }
--------------------------------------------------------------------------------
/src/httpclient/IHTTPClient.cs:
--------------------------------------------------------------------------------
1 | namespace qcloudsms_csharp.httpclient
2 | {
3 |
4 | public interface IHTTPClient
5 | {
6 | HTTPResponse fetch(HTTPRequest request);
7 |
8 | void close();
9 | }
10 | }
--------------------------------------------------------------------------------
/src/httpclient/PoolingHTTPClient.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Text;
3 | using System.Net.Http;
4 | using System.Net.Http.Headers;
5 |
6 |
7 | namespace qcloudsms_csharp.httpclient
8 | {
9 | public class PoolingHTTPClient : IHTTPClient
10 | {
11 | private static HttpClient client = new HttpClient();
12 |
13 | public HTTPResponse fetch(HTTPRequest request)
14 | {
15 | UriBuilder uriBuilder = new UriBuilder(request.url);
16 | StringBuilder query = new StringBuilder();
17 | foreach (var parameter in request.parameters)
18 | {
19 | query.Append(parameter.Key);
20 | query.Append("=");
21 | query.Append(parameter.Value);
22 | query.Append("&");
23 | }
24 | query.Length--; // Remove the last '&' character
25 | uriBuilder.Query = query.ToString();
26 |
27 | HttpRequestMessage msg = new HttpRequestMessage();
28 | msg.RequestUri = uriBuilder.Uri;
29 | request.url = uriBuilder.Uri.ToString();
30 | msg.Method = new HttpMethod(request.method.ToString());
31 | msg.Content = new StringContent(request.body, request.bodyEncoding);
32 | foreach (var header in request.headers)
33 | {
34 | if (header.Key == "Content-Type")
35 | {
36 | msg.Content.Headers.ContentType = new MediaTypeHeaderValue(header.Value);
37 | }
38 | else
39 | {
40 | msg.Headers.TryAddWithoutValidation(header.Key, header.Value);
41 | }
42 | }
43 | // Fetch http response
44 | try
45 | {
46 | // Sync send request
47 | HttpResponseMessage response = client.SendAsync(msg).Result;
48 | // Sync read response body
49 | string responseBody = response.Content.ReadAsStringAsync().Result;
50 |
51 | HTTPResponse res = new HTTPResponse()
52 | .setRequest(request)
53 | .setStatusCode((int)response.StatusCode)
54 | .setReason(response.ReasonPhrase)
55 | .setBody(responseBody);
56 |
57 | foreach (var header in response.Headers)
58 | {
59 | foreach (var value in header.Value)
60 | {
61 | res.addHeader(header.Key, value);
62 | }
63 | }
64 |
65 | return res;
66 | }
67 | catch (HttpRequestException)
68 | {
69 | // not handle, re-throw
70 | throw;
71 | }
72 | }
73 |
74 | public void close()
75 | {
76 | // Do nothing
77 | }
78 | }
79 | }
--------------------------------------------------------------------------------
/src/json/JSONException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 |
4 | namespace qcloudsms_csharp.json
5 | {
6 | public class JSONException : Exception
7 | {
8 | public JSONException()
9 | { }
10 |
11 | public JSONException(string message) : base(message)
12 | { }
13 | }
14 | }
--------------------------------------------------------------------------------
/src/json/JSONObject.cs:
--------------------------------------------------------------------------------
1 | using System.Dynamic;
2 | using Newtonsoft.Json.Linq;
3 |
4 | namespace qcloudsms_csharp.json
5 | {
6 | public class JSONObjectBuilder
7 | {
8 | private JObject obj;
9 |
10 | public JSONObjectBuilder()
11 | {
12 | obj = new JObject();
13 | }
14 |
15 | public JSONObjectBuilder Put(string name, object value)
16 | {
17 | obj.Add(name, JToken.FromObject(value));
18 | return this;
19 | }
20 |
21 | public JSONObjectBuilder PutArray(string name, object[] values)
22 | {
23 | obj.Add(name, new JArray(values));
24 | return this;
25 | }
26 |
27 | public JSONObjectBuilder PutArray(string name, JArray values)
28 | {
29 | obj.Add(name, values);
30 | return this;
31 | }
32 |
33 | public JObject Build()
34 | {
35 | return obj;
36 | }
37 | }
38 |
39 | public class JSONArrayBuilder
40 | {
41 | private JArray arr;
42 |
43 | public JSONArrayBuilder()
44 | {
45 | arr = new JArray();
46 | }
47 |
48 | public JSONArrayBuilder Put(object value)
49 | {
50 | arr.Add(value);
51 | return this;
52 | }
53 |
54 | public JArray Build()
55 | {
56 | return arr;
57 | }
58 | }
59 | }
--------------------------------------------------------------------------------