คำถามติดแท็ก webclient

WebClient เป็นคลาสสำหรับแอ็พพลิเคชัน. NET Framework ที่มีวิธีการส่งและรับข้อมูลจากทรัพยากรที่ระบุโดย URI

8
วิธีโพสต์ข้อมูลไปยัง URL ที่ระบุโดยใช้ WebClient ใน C #
ฉันต้องใช้ "HTTP Post" กับ WebClient เพื่อโพสต์ข้อมูลบางอย่างไปยัง URL เฉพาะที่ฉันมี ตอนนี้ฉันรู้ว่าสิ่งนี้สามารถทำได้กับ WebRequest แต่ด้วยเหตุผลบางอย่างที่ฉันต้องการใช้ WebClient แทน เป็นไปได้ไหม ถ้าเป็นเช่นนั้นบางคนสามารถแสดงตัวอย่างหรือชี้แนะทิศทางที่ถูกต้องให้ฉันได้ไหม
319 c#  post  webclient 

10
วิธีการเปลี่ยนการหมดเวลาบนวัตถุ. NET WebClient
ฉันพยายามดาวน์โหลดข้อมูลลูกค้าไปยังเครื่องท้องถิ่นของฉัน (โดยทางโปรแกรม) และเว็บเซิร์ฟเวอร์ของพวกเขาช้ามากซึ่งทำให้หมดเวลาในWebClientวัตถุของฉัน นี่คือรหัสของฉัน: WebClient webClient = new WebClient(); webClient.Encoding = Encoding.UTF8; webClient.DownloadFile(downloadUrl, downloadFile); มีวิธีการตั้งค่าการหมดเวลาไม่สิ้นสุดกับวัตถุนี้หรือไม่? หรือถ้าไม่มีใครสามารถช่วยฉันด้วยตัวอย่างในวิธีอื่นในการทำเช่นนี้? URL ทำงานได้ดีในเบราว์เซอร์ - ใช้เวลาแสดงประมาณ 3 นาที
230 c#  .net  file  download  webclient 

7
การตัดสินใจระหว่าง HttpClient และ WebClient
เว็บแอปของเรากำลังทำงานใน. Net Framework 4.0 UI เรียกวิธีควบคุมผ่านการเรียก ajax เราจำเป็นต้องใช้บริการ REST จากผู้ขายของเรา ฉันกำลังประเมินวิธีที่ดีที่สุดในการเรียกใช้บริการ REST ใน. Net 4.0 เซอร์วิส REST ต้องการ Basic Authentication Scheme และสามารถส่งคืนข้อมูลทั้งใน XML และ JSON ไม่มีข้อกำหนดสำหรับการอัปโหลด / ดาวน์โหลดข้อมูลขนาดใหญ่และฉันไม่เห็นอะไรเลยในอนาคต ฉันดูโครงการโอเพนซอร์สสองสามโครงการสำหรับการใช้ REST และไม่พบค่าใด ๆ ในการพิสูจน์การพึ่งพาเพิ่มเติมในโครงการ เริ่มต้นในการประเมินและWebClient HttpClientฉันดาวน์โหลด HttpClient สำหรับ. Net 4.0 จาก NuGet ผมค้นหาความแตกต่างระหว่างWebClientและHttpClientและเว็บไซต์นี้บอกว่าเดียว HttpClient สามารถจัดการกับสายพร้อมกันและสามารถใช้การแก้ไข DNS, การตั้งค่าคุกกี้และการตรวจสอบ ฉันยังไม่เห็นค่าจริงที่เราอาจได้รับเนื่องจากความแตกต่าง ฉันทำการทดสอบประสิทธิภาพอย่างรวดเร็วเพื่อค้นหาว่าWebClient(การเรียกสาย), HttpClient(ซิงค์และ async) …

9
HTTP POST ส่งคืนข้อผิดพลาด: 417“ ความคาดหวังล้มเหลว”
เมื่อฉันพยายาม POST ไปยัง URL ผลลัพธ์จะมีข้อยกเว้นดังต่อไปนี้: รีโมตเซิร์ฟเวอร์ส่งคืนข้อผิดพลาด: (417) การคาดหวังล้มเหลว นี่คือตัวอย่างรหัส: var client = new WebClient(); var postData = new NameValueCollection(); postData.Add("postParamName", "postParamValue"); byte[] responseBytes = client.UploadValues("http://...", postData); string response = Encoding.UTF8.GetString(responseBytes); // (417) Expectation Failed. การใช้HttpWebRequest/HttpWebResponseคู่หรือสิ่งHttpClientใดสร้างความแตกต่าง อะไรทำให้เกิดข้อยกเว้นนี้
212 c#  .net  http  http-post  webclient 

3
มีความแตกต่างอะไรระหว่างคลาส WebClient และ HTTPWebRequest ใน. NET
อะไรคือความแตกต่างระหว่างWebClientและHttpWebRequestคลาสใน. NET พวกเขาทั้งสองทำสิ่งที่คล้ายกันมาก ในความเป็นจริงทำไมพวกเขาไม่รวมเป็นหนึ่งคลาส (มากเกินไปวิธีการ / ตัวแปร ฯลฯ อาจเป็นเหตุผลหนึ่ง แต่มีคลาสอื่น ๆ ใน. NET ซึ่งแบ่งกฎนั้น) ขอบคุณ

5
ใช้ CookieContainer กับคลาส WebClient
ก่อนหน้านี้ฉันเคยใช้ CookieContainer กับเซสชัน HttpWebRequest และ HttpWebResponse แต่ตอนนี้ฉันต้องการใช้กับ WebClient เท่าที่ฉันเข้าใจไม่มีวิธีการในตัวเช่นเดียวกับ HttpWebRequests ( request.CookieContainer) ฉันจะรวบรวมคุกกี้จาก WebClient ใน CookieContainer ได้อย่างไร ฉันgoogledสำหรับสิ่งนี้และพบตัวอย่างต่อไปนี้ : public class CookieAwareWebClient : WebClient { private readonly CookieContainer m_container = new CookieContainer(); protected override WebRequest GetWebRequest(Uri address) { WebRequest request = base.GetWebRequest(address); HttpWebRequest webRequest = request as HttpWebRequest; if (webRequest …

3
วิธีรับสตริง json จาก url
ฉันเปลี่ยนรหัสฟอร์ม XML เป็น JSON แต่ฉันไม่พบวิธีรับสตริง JSON จาก URL ที่ระบุ URL เป็นดังนี้: " https://api.facebook.com/method/fql.query?query=.....&format=json " ฉันใช้ XDocuments มาก่อนฉันสามารถใช้วิธีโหลดได้: XDocument doc = XDocument.load("URL"); อะไรที่เทียบเท่ากับวิธีนี้สำหรับ JSON ฉันกำลังใช้ JSON.NET

8
WebClient กับ HttpWebRequest / HttpWebResponse
สำหรับฉันแล้วดูเหมือนว่าสิ่งที่สามารถทำได้ส่วนใหญ่HttpWebRequest/Responseก็สามารถทำได้ในWebClientชั้นเรียนเช่นกัน ฉันอ่านที่ไหนสักแห่งที่WebClientเป็นกระดาษห่อหุ้มระดับสูงสำหรับWebRequest/Response. จนถึงตอนนี้ฉันไม่เห็นสิ่งใดที่สามารถทำได้โดยHttpWebRequest/Responseที่ไม่สามารถทำได้ด้วยWebClientและที่ HttpWebRequest / Response จะให้การควบคุมแบบ "ละเอียด" มากขึ้น ฉันควรใช้ WebClient เมื่อใดและเมื่อHttpWebRequest/Responseใด (เห็นได้ชัดว่าHttpWebRequest/Responseเป็น HTTP เฉพาะ) ถ้าHttpWebRequest/Responseเป็นระดับที่ต่ำกว่านั้นWebClientสิ่งที่ฉันสามารถประสบความสำเร็จกับการHttpWebRequest/Responseที่ฉันไม่สามารถประสบความสำเร็จด้วยWebClient?

3
ตั้งค่าการหมดเวลาสำหรับ webClientDownloadFile ()
ฉันกำลังใช้webClient.DownloadFile()เพื่อดาวน์โหลดไฟล์ฉันสามารถกำหนดระยะหมดเวลาสำหรับสิ่งนี้เพื่อที่จะไม่ใช้เวลานานมากหากไม่สามารถเข้าถึงไฟล์ได้?
92 c#  .net  download  webclient 

10
จะรับรหัสสถานะจากเว็บไคลเอนต์ได้อย่างไร?
ฉันใช้WebClientชั้นเรียนเพื่อโพสต์ข้อมูลบางส่วนไปยังแบบฟอร์มบนเว็บ ฉันต้องการรับรหัสสถานะการตอบกลับของการส่งแบบฟอร์ม จนถึงตอนนี้ฉันได้ค้นพบวิธีรับรหัสสถานะหากมีข้อยกเว้น Catch wex As WebException If TypeOf wex.Response Is HttpWebResponse Then msgbox(DirectCast(wex.Response, HttpWebResponse).StatusCode) End If อย่างไรก็ตามหากส่งแบบฟอร์มสำเร็จและไม่มีข้อยกเว้นเกิดขึ้นฉันจะไม่ทราบรหัสสถานะ (200,301,302, ... ) มีวิธีรับรหัสสถานะบ้างไหมเมื่อไม่มีข้อยกเว้นใด ๆ เกิดขึ้น? PS: ฉันไม่ต้องการใช้ httpwebrequest / httpwebresponse
90 c#  .net  vb.net  webclient 

3
การโพสต์ JSON เป็น URL ผ่าน WebClient ใน C #
ฉันมีโค้ด JavaScript ที่ต้องแปลงเป็น C # โค้ด JavaScript ของฉันโพสต์ JSON ไปยังบริการเว็บที่สร้างขึ้น โค้ด JavaScript นี้ทำงานได้ดีและมีลักษณะดังต่อไปนี้: var vm = { k: "1", a: "2", c: "3", v: "4" }; $.ajax({ url: "http://www.mysite.com/1.0/service/action", type: "POST", data: JSON.stringify(vm), contentType: "application/json;charset=utf-8", success: action_Succeeded, error: action_Failed }); function action_Succeeded(r) { console.log(r); } function log_Failed(r1, r2, r3) { …
89 c#  webclient 

5
ฉันจะลบขีด จำกัด การเชื่อมต่อ 2 รายการใน WebClient โดยทางโปรแกรมได้อย่างไร
RFC "ดี" เหล่านี้ได้รับคำสั่งจากไคลเอ็นต์ RFC ทุกตัวว่าระวังอย่าใช้การเชื่อมต่อมากกว่า 2 รายการต่อโฮสต์ ... Microsoft นำสิ่งนี้ไปใช้ใน WebClient ฉันรู้ว่ามันสามารถปิดได้ด้วย App.config: <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.net> <connectionManagement> <add address="*" maxconnection="100" /> </connectionManagement> </system.net> </configuration> (พบในhttp://social.msdn.microsoft.com/forums/en-US/netfxnetcom/thread/1f863f20-09f9-49a5-8eee-17a89b591007 ) แต่ฉันจะทำแบบเป็นโปรแกรมได้อย่างไร? Accordin ไปที่ http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit.aspx "การเปลี่ยนคุณสมบัติ DefaultConnectionLimit ไม่มีผลกับอ็อบเจ็กต์ ServicePoint ที่มีอยู่ แต่จะส่งผลต่ออ็อบเจ็กต์ ServicePoint ที่เริ่มต้นหลังจากการเปลี่ยนแปลงเท่านั้นหากไม่ได้ตั้งค่าของคุณสมบัตินี้โดยตรงหรือผ่านคอนฟิกูเรชันค่าดีฟอลต์จะเป็นค่าคงที่ DefaultPersistentConnectionLimit" ฉันต้องการที่ดีที่สุดในการกำหนดค่าขีด จำกัด เมื่อฉันติดตั้ง WebClient แต่เพียงแค่ลบข้อ จำกัด ที่น่าเศร้านี้ออกทางโปรแกรมเมื่อเริ่มต้นโปรแกรมของฉันก็ใช้ได้เช่นกัน เซิร์ฟเวอร์ที่ฉันเข้าถึงไม่ใช่เว็บเซิร์ฟเวอร์ทั่วไปในอินเทอร์เน็ต …

1
WebClientDownloadString ส่งผลให้อักขระที่ยุ่งเหยิงเนื่องจากปัญหาการเข้ารหัส แต่เบราว์เซอร์ไม่เป็นไร
รหัสต่อไปนี้: var text = (new WebClient()).DownloadString("http://export.arxiv.org/api/query?search_query=au:Freidel_L*&start=0&max_results=20")); ส่งผลให้ตัวแปรtextมีสตริงเหนือสิ่งอื่นใด "$ κ $ -Minkowski สเปซฟิลด์สเกลาร์และปัญหาความไม่แปรเปลี่ยนของลอเรนซ์" อย่างไรก็ตามเมื่อฉันไปที่ URL นั้นใน Firefox ฉันจะได้รับ $ κ $ -Minkowski สเปซฟิลด์สเกลาร์และปัญหาความไม่แปรเปลี่ยนของลอเรนซ์ ซึ่งถูกต้องจริง ฉันยังพยายาม var data = (new WebClient()).DownloadData("http://export.arxiv.org/api/query?search_query=au:Freidel_L*&start=0&max_results=20"); var text = System.Text.UTF8Encoding.Default.GetString(data); แต่สิ่งนี้ทำให้เกิดปัญหาเดียวกัน ฉันไม่แน่ใจว่าความผิดอยู่ที่นี่ ฟีดโกหกเกี่ยวกับการเข้ารหัส UTF8 หรือไม่และเบราว์เซอร์ฉลาดพอที่จะคิดออก แต่ไม่WebClient? ฟีดมีการเข้ารหัส UTF8 อย่างถูกต้อง แต่WebClientล้มเหลวด้วยวิธีอื่นหรือไม่ ฉันจะทำอย่างไรเพื่อลดปัญหานี้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.