我试图将客户端的数据下载到我的本地机器(以编程方式),并且他们的网络服务器非常非常慢,导致我的WebClient对象超时.
这是我的代码:
WebClient webClient = new WebClient();
webClient.Encoding = Encoding.UTF8;
webClient.DownloadFile(downloadUrl, downloadFile);
Run Code Online (Sandbox Code Playgroud)
有没有办法在这个对象上设置无限超时?或者,如果没有,任何人都可以用另一种方式帮助我做一个例子吗?
该URL在浏览器中正常工作 - 只需3分钟即可显示.
.NET中WebClient的HttpWebRequest类与.NET 之间有什么区别?他们都做了非常相似的事情.实际上,为什么不将它们合并到一个类中(太多的方法/变量等可能是一个原因,但.NET中有其他类违反了该规则).
谢谢.
我相信经过长时间的研究和搜索,我发现我想做的事情可能更好,通过建立一个异步连接并在所需的超时后终止它......但我会继续问,无论如何!
快速代码片段:
HttpWebRequest webReq = (HttpWebRequest)HttpWebRequest.Create(url);
webReq.Timeout = 5000;
HttpWebResponse response = (HttpWebResponse)webReq.GetResponse();
// this takes ~20+ sec on servers that aren't on the proper port, etc.
Run Code Online (Sandbox Code Playgroud)
我有一个HttpWebRequest多线程应用程序中的方法,我连接到大量的公司Web服务器.在服务器没有响应的情况下HttpWebRequest.GetResponse(),即使我指定的超时仅为5秒,大约需要20秒才能超时.为了定期通过服务器,我想跳过连接时间超过5秒的服务器.
所以问题是:"是否有一种简单的方法来指定/减少WebRequest或HttpWebRequest的连接超时?"
我有一个非常简单的需求 - 我的C#代码需要通过HTTP连接到远程服务器并下载字符串.一个简单的GET请求,仅此而已.
为了确保我的应用程序保持响应,我还想对操作施加超时(例如,3秒).
我的第一个想法是使用System.Net.WebClient,但这不支持任何超时.
然后我想尝试好的旧版本System.Net.HttpWebRequest,但是唉 - 自.NET 4.5以来它已被标记为过时了!
那么,我可以使用什么?我检查了System.Net.Http命名空间,但它只允许异步使用,强制使用Tasks,并且通常只添加十几个不同的抽象层而不真正添加任何新功能(因为它System.Net.HttpWebRequest无论如何都使用相同的旧版本)
我不想要异步的东西,我不想涉及其他线程,我不想涉及任务框架,我不想要大量的包装器.
在.NET 4.5中执行此操作的正确方法是什么?
我想创建一个应用程序来自动上传文件到googles SearchbyImage-tool
https://www.google.de/searchbyimage/upload
Google正在使用multipart/form-data来提交文件,类似于:
Content-Type: multipart/form-data; boundary=---------------------------265001916915724
Content-Length: 9989
-----------------------------265001916915724
Content-Disposition: form-data; name="image_url"
-----------------------------265001916915724
Content-Disposition: form-data; name="encoded_image"; filename=""
Content-Type: application/octet-stream
-----------------------------265001916915724
Content-Disposition: form-data; name="image_content"
iVBORw0KGgoAAAANSUhEUgAAA7sAAAAdCAYAAABrN3uYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABovSURBVHhe7V15cF3Vefe00KHT0uk0_7QJk2nS0oLTNNOJaQspGQ-BBuOCgcYuBFLAAlK2sIQtwAcSHDuAbeyCV_C-IxvjRTIuCGN5k42RjLHlRdbmJ1mSV9larOVJv57lnnvPvffc5T0_6Uny92bu2E_vvnPP-c53vvP7vt_3nTcI9CIJkARIAiQBkgBJgCRwEUqgra0NiUQCx48fT_viYmtsbMR3fnAXrr52pPhXXfw9vUgCJAGSAEkgexIYlL1H05NJAiQBkgBJgCRAEiAJ9H8JcGd3MHNyrxn2qPhXXfw9vUgCJAGSAEkgexIYxA00XSQD0gHSAdIB0gHSAdIB0oH0dUB3cjmjq95nD-LRk0kCJAGSAElg0OAf_BczyPKSEUl6T_IgfaD1QPaA7CHtB7QfEh7IBB4gqNmzEqD9mvZr2q9pvw7br4WzKyOQzqZG70kepA-0HpQOkD0ge0D2gOwB2QOpA-nYw5519ah1sk9kn8g-pW-fLob1I5xdiohQRIQYDGIwMsFgkD0he0r7Ce0ntJ-49xOTO_rm-8ehX-OXHscrCxrw_Lv1ePydOoyefAx3TajFbb-pwb-PqcEPn0_g2meOkmdrkEAcfVOyjitn2g8pw4_wzMDBM6405nQilhdDRIAiRhQxSjeiT-uDIs5kP8h-kP1IjxEdKPYzyNldWAjM-6wbswu6MH1jElPyOvHmhx0Yl9uOscva8MLCVjw9pwWPzmrBQ9Oa8E8PfUHOboCzG4VfubPL5R1XzlHt0eeU8WSyT-kGsUifelaffDW76U4URUB6LwKSajRYRYSJcckM46LLf9ySBrw0rwG_mCEj8aPG1-KWsQkMtaLwPBL_vdFFVBNPGSSUQUNnQtCZGBfpmSBRzG6cfUTtJeTt-iUQB3-qfTtqv1ZyJryUGbx0sTHkKqiSahCL9K1n9c1Xs5sqkNfBvJ_BmAkWSHO9CifEiPCOL5bfSeRhVGCNDG-7DgseNLU3w_4sMKI-ocR-xsh-VrOsFlPcaLCKCMeZn-rlLzk1SQ_moZrJeP7oVCIuM7HZmpdIRsueg_ViniPvt-7JdgQs1TWinN2o8Y3dzlRy-8y0asIujAGJsV760fxkWz_o-anYixj7QT-zzzT_NP9ee2xyUJfl7_b9uZv9JZnsRntHN1rOd-FscydOne1E_ekOJI63s4BZToCvexiThgzCoEHsGjIJhzPiEechZ9AQTBKNaf8_PAlDrL_n5VjP5M_VriHyS732Mu1_FQcKsHLxW1j83gTMeedVrFidZ_cnjpyj8VIQ_ozQ_9HrBa7i2DU44yMM3w609cXxh99PiMJL5vlJFa9mfv9JFR96fSjv_vEyx4WGF8fqvZcxZPblUn9-Cv5BhvG-r2aXG-Du7u7Qq72zC03MEJ88l0TiZKcwwOaaCblglz5peezCeSrBa6ER_pnYxiaWO8XhESHHGPgjIotdzq75c-cZmYuoeMbbQ6dcq8UUNxrsXUzOeL39tRR61-ILYCD4_B23DbkTcfXOl3wWn-fMyZ_rTNDzo_Qp_uepgBQFUCJrivjaSJSgMKGtlx7Sn9TXS89G3DI7_5nWJ2qP5of0P9J-XaSMbRxGMeh3dhetLZIQdsFT4uK464XXZhivGubo5m_-MsTZ9TikoW6m7sSG3Rjg7Bq_ErfNnvF_Tfq5YsFEnPnob-xrxsSXoK4dhRvBcWxLGwsotCRx6lwnGlhAQZezH3-68dKo5XWCkLmvRzJWgvBtz-Ob3rf3UXg9rv3tHfwdJZ9U8KEexIpmwLM5vjB_K-789A4-D5ofX80uN8Dc6KoX_39nVzfa2ruZg5vEmSZmFM7IKGP5sfO2ATZ7-F7GKA6DFDeiFRYhkG0EM5JRn6dbYxZnfBfOYOZuLEayO-m62pNJnO_oRFNbJxpbO3GyqQP1Z5nxZgZ8X007_vmWBw2MoaG_VkBibJqnTnJn08y4e-erpyI8cfUn_YieDVLYIsnftBe5-Z9j_qqtmLmkAJPey8e4d1Zj7KTlYvNUACUqAsY3zurlL0L-25sRO2mAwtdLuuthoEWgaTwXlkFA8iP5Xfj-lzrjk337ZXLx5n6wxfXnri6go7Mb59u7cI45YKe5A8awVu2JdlTXt5GzG-Inm_bXuYzNRfca-zpfMxHnPr8Nh5ZeiZ-NHIHSinpsK6lEycE6o5z9GRrp4Nl09T0IH_U8vun99ZUp_NE7-DtKPjo-5CrLfagk86GCgisFO0pFECs6Iyib48sUXs-e_vpqdrkB5pPDU1IKCwvlJHWwCBh3dFlKzfFGZnxPdqCyrg2Hjrqd3UjGaMo-kaZpRzCeLGBMr3pxxpdHeJxXYvXr8l7hgDn3cUfMZvAmOJ_Z91vgXTLKL2FBwmmzcIKbjleOBX-Gc1sJ-DOuEf1h6SbLS-wG7PtZu0tr3e1yRtp-sXEKebj6vk-0q5yLbbuOs9vls-JGiI-983sc_OEVaKuvwqatxVi8ciPmL8-3r-b2Tvv_DczZrT7ZjqL9DcLZjZwfEaGU8pKMqx5xkxHFwu0smmn1-Rrf_PHv6xEgaz63M8bSJRv3eyXT0PYMc3DNsNddc7ttilt_oBjqEP1xjSdmhDYVkKI7u8ERQS5zi9EVDK9M35f3mxhxmQLlH7-eQSEFXr08zw4-8PZEqrR62Qy-FTGc4qxHPid2f43yI8YzKsJLn6cS8SV9In0ZuPpi8tNmr_hU_Llx8v3i6mDpyzqzu_qDOvzv1CN4_rk1eOLxXLzw7GeYN_fLEJfPwMROyrHTi2VqMb9HSznOsVJ7RWqy-nsOu4u_gphdE4sb_LecnCGsD7JNV9qzerZ4lpaGzfphf2Tsl18EJvw0nTG5SOaitX4Wmit-jaa99-PstqHYOP-nWJX3GVYWlOD1xXl4avxcLM0vFgGFI7UOpo3GS6ngI2DbFKXfpoxHNSaFB3UGV2Xc7XPjKLF_W_iA4WCFXzl2E6yz9bLxVVr7v799vb0wfLt0NcP7Wh-C7ZuJsZT42sbbvOSttoDhorD-eBhiFz71y9-Fv0Pwv8KI4Rmpzv4VhQ9bjqzA-U_vROPBZULndu2twPwV-TEyHAMY8AB89toubZ0ofyRFfXGCs6aMAom_bX3g_p3ArmF40oNnXX3XM3pT8zfkHCn_yuxP-Wp2uQFWzC53eMsrqtHalmS1I0mcZM5T3SnmQLEJKqs5j_2VrS7mKrrGQS5kGcHwePhMmaXQIhhAcd-L1vfZ-JhwRc2tqP9U7WsREP737TM8vyMcEaFjNcOqL8JJU9-3nvGyep7luDsRGW-EyvPeGuPV18oahVQZvI6CFWh89UkcHfINNE0YJ5jdzq4k2jrl1cIc3XPnO3G6hQUlznXgGIsKVzAGfv3OOleqeXB_uZK8hPmWs-tm_KTBdWp6o-bPcZqN8-1jgMPa43NgBUnEHBTLAIGYW2-Na2r646pRjlkjoEAKV42fvwv87O0kRv7-LP5j7FHc-EwJrv_5JhxjQQY9Gh_K6PAaHsvBlfJ36nlC10Pg-B2jITc9vT3T-rNqZlSNvKumyCNPe_2lG7FOn1GPiqjS59lnsKIyGOhz0v9oBmPgZQD43TN2KvCS_xN_5ol0nczR5Yxuc6skFTZsOInp046iovIM3p62U_xbXn0C02d9gXHjPjE1x_7mdU6Z86q8xjzu9JqcWN6Ux1Fl9zqOsaFm13u_6E2QszvIasvbZf1-6ej663yD-uUfvml_fWvcM-g-OUU4uueYo9u4dSgObvgpVn-0A6famnGWNVPW2oVFOytw1xNvYHNxghE4rcjduCcWXlJpzPLMFxM-kvuw0Hfr_BN5xoyOP4P2V4WHdDwmiRL3mSj8vcTB4twT6xwUl5Oo8JIL3-h4K2r_19rXxuHLCPPgW4XZrhZn8Dikjpkx1-fUwndCpiV4WcjLCQK4xhvYHzkfwfLX8bfHH_Dgf-lvxMc7Oj5kXKEIYp1n6fKLN3fhodlA7rKlwLF1aFr1TRFcKTlQjdNL5qB5-L8C63NDGF4TAx4Hn3n1LV190edInw8-X3KupH8XpU8Kj8o52jzesveuM4JS8Te0oEhIRqqvZpcbYFmzCxERLCuvslNq6k-3s_TlNpSzCSqtbsWe8mafYXBH2EwRLI3B8tos4dB4IgiuiIv1BT2iJRguE6NoCdT6vsPIehlL9t4TARJPsfriqjnWGWMrIuFiwFyMspeRtvouIizp1Sg0f_gu6u8ehto_-0OceeVl7Cjeh7Ubt9lMLk9hPsMc3RMshbmOMfAJFpg4Ut-OdTtrXcY7uGZXOrtLa1XNrT5_4REZXWacAa7WIz6RDKWXAXdk5a_B1fTDmgOH0TfUBMTWn_g1u2Eg5URjJ-pY5sPRBrZOWJq_d-M0RaDvW83kZaUu88_5eycDwhtRixg_H6-IgKrxeL6vDgUTIlYMsV8fOQMs6uYD5RdfXsRYDVzGKm5GCtV80nqJrkmLn-HU3_TJ5J2-vXCDwFllz94srmZ2Dgpndj_acALvzk4IB5e_Rtz2GirqzuEoe8v__c3vNmHWLAH5Pa-wGtuQz1zsqcXuCic5M8yu66wq4XQrBtlypMXzlSOuDSmwX_6Rm_RhwphH0bTjdlSu-h72zr8Ce979c6z5YC4O1RwHd0I6-Q7InN3tJ7rw5vo9WLhyLUqrWrFofUkIXvIDfmMGllYOpvY_tae68F8EPuE4KhTf-M4oCcELmjMsRxFj_zecgcIZQ4UNnIzLMHyr4YuwDErrwC4XXrDwinOGj59htPvjw-cqQ1Puv0b58wy62Pg_nn0KwoePzAHWsTPprvoF071130aicj8-rijCwwXDsffpHwFLmCc89KoQhtfAgIfhMwPWC8XTesasNRfO_u7NMNT2M87ospeaI5N_Y-NJXZ8MZzjx-2QGRGr-hjrsLQyPDBp8Heu0dfGIizTAMo25YNNnItJ4WtTpdori_Yq68yL6tbeiBbsPNTuGgbUhIjau9qyIQo58xtXXvminyA5mxrSaR5w8zx98nTVI9h3RnriPKa2vfSuiYbXNvyciXuK9FgGx2ldpHWJCvJ9bzxCMbWj_veMZaaeLyAiS53PBkMm-y_Gr9v39c3_uvV--P7elACdu-nsk_vgS1I1_DXqdrqlWt4rV-hyua8fqbTVOTUDo-Lzy1sfjkXfo_LFIC2MnBSNuPy9svtj44uqDVz9Y-2puRYQobf0x6a9XH-R7BVJ4Lbus2d2FBVbN7mStZvdQQts4jetD9dcEhXhE0zCeqPFzOfIor_08bT259NFikI3rRbLyQp6B6y--vHT74rU39N5tf0keJA9aL-b9z48vzPa5L8ovyNlVJy8384OSGKN7kp28vHhxje3o8u_dffdk4eQ2NEE4vJ_sqMJTTy7LsLNrcDYz7ey6nFrO5sZxdk39Mji7hv31V4_fi6dzRuKRe27FgyN_jPtG3IDxM1aglmW_sSNo0NzVgaqzbdhc3YaZW45h2D2_xLKPy2xMG41ndf2Lxkf8VF0f_gzFtwpHMRLItJ_HwgcXuP_78IaWsRcb30bh3ZDPNWdXzofHP7hOzyDU8KoBTxrlz_FpbPwfz97o-LCNlYDyIFZjUxILNnXhyieAlctmozuRC6y5HA98fDPWla3Av8z9OvBvV7L40kqXPxbuj4TgM9f4ZZmcOMPIJz-vPL3v1X7sxe8a_rPmSOJvk_-l4Un9-Qb9sZ1ilz-Xin8QjB9czi6PqChnVx59n0QjS1_mbBVPy6xidbqHGYDfV9mC4sPN2Fna5HJ2RURGc6ZsD99ySGUExXFIeY2rYLSs78jvO8J23sv73O1bER7N2RWnAGvgXdTsav2xGTTrGc7nkjIXEbSw_itGVo3HGq86VMg3XqsGWY3R6b8WoXE9zys___svr7gcX_3JJWj7YjfWbCzEwvc_spndU80d9v95rW55QzsO1LZh5ZaEcHYj58fqrzTIGgNuydSRr1ToqPnjETdnfsPmK157Zv2QfeVzIOcvXf2xMgRizAdfIyaQUn9KZj7wgFBZgmU_6FFiIU_D_HJDYTmnzufSOIgIl2bMxefCsMg1pLfnHr9zyrWdxszvVzUVloFPuNaLpv-W8Rc1KkKepvUXX17u9e0YI6M8Ysif2lPrM9peuO0Z3U_yoPWXDfsR5OzyQ2uK7v2-uE6x0iPO7M6adRRr1h6xvzJ8-G_xoxtexphXcnG4PonXpxTijjsYC-R7pcnsWnW84WnEUSczx6jj5ayu-lkk7eeLVL2u-flBadDuwUu8Em3fFq0sxKbK06hsA_Y3tmPXsXNYd7AFryz7HNcN5-eacJykrgg863qeCd8o51aC9QSvKdScAYk_g_ZXpz3uADj414RvdDwQ8nkm9n_NOZd418F4wfg2Cu8Gfc7b52SRTJE14hFff9z-hcKywfJXzlkc_B-tX4oMMeHD_3yT6UNpNy6_h5UuVC1C_dzLsKpsA4Yu-VsUTbsL3YzMwlWXe_wh3V5bDLnL_wjQH1XjbDvzVkatER-H6Y_j7Lrxv1pvVvqy8Ad0_Q7Dk-p5Un9sf0P4h4ocNK-naH8xeH8Tzq4ewVLObqt1IiD_jbc6BuKrWVrmEVanywH8niPN2HWgCVu_Oudydv0RVTkRzksO0n6eUFTtxVOHvR4975-IAOj3ccYwLCKhRXhcVL5iiP0MrYzu-Ptin1LrjVi42nUYavsAIDEWFZFwt-tjgH2McnAEadcbb6DsL_4UDUcTxhrdo8zJ5XW6ZSx9-eCxNuyvcZzdlOfHxYAbIj6R82cdDpZgv6PLZOHIxjR_Zln59UGLMBnmlo_R_l0yaw7i6U98RomvEQ5SWlk0Pn_Tl3hfMLtb2GnMn9qnMR9gaf5flbdErA8pE1ET4mLcrYwB1X_1u9NcjdhhX3YGQ8D4ZY2MfPEDqpyMB-2wNutnjuR6lOtBFvnLl71JBK6_-PLqz4xMnIwLGl-8iHdfZNxofilDozfWr98xhSAW-B5y8Eg19h6oYgfVVGJLcSUmTz4imN3WdqCFMZC1rLj0i9JT7ORgfnpwPUrrgeG3TPM06f2dXa_z6X5vHxRlPKBK1fpmOo1Z72MOchSzK0biPjjLfECVVoPsGX0qGTFj5uXhk9p2fFLTjbUV7Xjr4wrc-fgk_HbMA54MvFQy8qLwkXLCgjIAw_CtzIhUQXE3vonImHPh6XT2f9m-jg0cBi8uvjXgbRfe8f_ObvXymfbhR3x9qvroUdZ4zP3xMMQufBoifzuDNAr_x8s40fEhP1WdB7H4qeossRXLtnTgsjvq0X1gHEqnXor_2ToCxcd34MYP_w4duQtR_9eXGTJkIzJCjf6RPtfF4ictFRHo4EHp6Ie_V_uD15fj2FLNkcSvTg17GJ40ZUAouev-YdR64lg4wF8M8KeEs6tHxNREeQ3wx0XlWLflCFZtKhOpHuqy6xuIkQmJyMSLCMWNOBdMmY5k42kcLC_H_rJyFB-oRNFXldi8pwqf7q5CflEC63Yk8MHWhGB1FbMbt_04EdKLmSEJAimmNZL19eGKKBMjGJcBuJj1m9Z_Zu01yZPkGeTsuplEySjOnVOKLTtrwM4DFY4uv8oakuLiju6SvMO4847JpiYv2r-laq8ffnUBxi4qwnMzP8Wtj03FxBduxukDE7D4HVMGXKb1VzGWfWU_NjGGUYxetjJEvIxfPEY_Vf24kPtN-LDkQC2-_iAw_v1WXHpLKbq_eBj7pl6C0dtuxidH1-D6ed9Cx3tTUPqNS2NlKFxI_3p-PwrTp-zNl7Fm12SAo_5GEfLeiZAn_-prOPLNP8ADN9zuSbnR02_M_--NCHYqEdb-2h9uzKLWg_fzbK0Pwaa7aniJkSWGMV6Eur-uT5pfmt9s2dug_S8VL3T27L2YNuNz4fByR7fqFEu5TSSxu6IDm_aexsOPrcDUqetSaXLA33uh833b7cNRNPMfcPrg77Bk2ugIhvcC15dVuiROcfZkdGXnfVhNbVANZ-_gXb88-lp__HjKhA-nzVuFy0Y247FZCVzy433C0eXXTz67BksOzcD1c76F1gm_wr4rLgmp2e0r-hKl_1E12lHf75nPfTW7fTtikOkIW_9rr_qRe7H8ppusmtr-13_Sr56OiLp_V1oc-e-qie_p51P7lEHRVxgLso9kb_uGPUrV25w7ZyfGv16I1XmVWLryIKbNK8acBV_iIfZ7u2PHsJ8uoZdLApnI2Bkx4lZ2puZ38OxDN_YMvrJP_fWfuZGJ_qfP2IXV1HprgLO9nvpaf-LL44-GVwpHl19qvodtGIzpe8fj-2__pXB0dWc3_fnM9v4bVaOdnf75anYvNEJG389WxIsYO2J0eiYiRgxff4mo0vzT_kP7T1-0V-n4pjOmb8Hzz32AUaMW4PbbZ-P-_56OSRPXptPUgP9OphjR5559BgX5S_sI40r2fKDb86Ervo1hK_4R3534tQHA6PZtffXV7GY3wpQdj7__RlBIXqSv2auBIAaT1h-tP1p_tH9GZxBsKdoz4B3ObA1w--79nl_RiJ4PyniIz0jS-iZ9GgjrxVezm6kI2UCPyND4iEHoiwwCrV_KcKAMh74dYab5ufjmJ-fJcSivqsmWPzhgn1vfcAq__PXUnq2xtcqAaL-nDCfCV_0XXzFndxQzFPKSERx6T_IgfaD1QPaA7CHtB7QfEh4gPEB4gPAA4QHCA_0bDwhnV0asnE2N3pM8SB9oPSgdIHtA9oDsAdkDsgdSB8gekj0ke0j2kOxh_7KHwtmliEX_jljQ_NH8EQNFDBQxUMRA0X5OeIbwAOEBwgOEBwgPuPGAK42ZIpYUsaSIJUUsKWLZvyKWNF80X8Q4EuNK-I3wG-E3wm-EB8x4gGp2qUaZarapZp1q9inDhTJ86MwKOrOD8ADhAcIDhAcIDww4PEA1u1SDQzVIVLNONft0ZoGtA8QQEUNEDBExRMQQUcYIZYxQxshAwQP_D1qk899cHOG9AAAAAElFTkSuQmCC
-----------------------------265001916915724
Content-Disposition: form-data; name="filename"
filename.bmp
-----------------------------265001916915724
Content-Disposition: form-data; name="num"
10
-----------------------------265001916915724
Content-Disposition: form-data; name="hl"
de
-----------------------------265001916915724
Content-Disposition: form-data; name="bih"
976
-----------------------------265001916915724
Content-Disposition: form-data; name="biw"
1920
-----------------------------265001916915724--
Run Code Online (Sandbox Code Playgroud)
我完全不知道如何在C#中做到这一点...有什么建议吗?
我正在使用C#.Net在Visual Studio 2010中编写程序
该程序是将文件从给定的URL保存到本地驱动器,具有自定义超时以节省时间.
说网址是http://mywebsite.com/file1.pdf,我想将文件保存到目录中C:\downloadFiles\
目前,我正在使用WebClient.
WebClient.DownloadFile("http://mywebsite.com/file1.pdf", "C:\downloadFiles\file1.pdf");
Run Code Online (Sandbox Code Playgroud)
我能够保存文件,但我遇到了一些问题.
有时,网址只是不响应,所以我让我的程序在终止之前尝试下载5次.然后我意识到WebClient的默认超时对我的需求来说太长了(比如2分钟或者什么)有没有一种简单的方法来设置超时,比如15秒?
我也调查过HttpWebRequest,我可以轻松设置超时HttpWebRequest.Timeout = 15000;.但是,使用这种方法,我不知道如何下载/保存文件.
所以我的所有问题都是:哪个更简单,设置超时WebClient或保存文件HttpWebRequest?我该怎么做呢?
我正在进行操作超时异常.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Net;
namespace Timer1
{
class Program
{
static void Main(string[] args)
{
Timer t = new Timer(TimerCallback, null, 0, 420000); // 7 minutes
}
private static void TimerCallback(Object o)
{
string url = string.Empty;
WebClient client = new WebClient();
url = @"http://myurl.com";
client.DownloadString(url);
}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法增加超时属性?请帮忙.