簡體   English   中英

C#WPF WebClient.DownloadString()沒有返回任何內容

[英]C# WPF WebClient.DownloadString() not returning anything

我從下面的簡單代碼開始,以便將網頁中的html抓取到字符串中以便稍后處理。 對於像Digikey這樣的網站來說,它可以運行,但對於像Mouser這樣的其他網站卻沒有。

我已經嘗試將header和userAgent放到WebClient上,同時將url轉換為Uri但沒有成功。 有沒有人對我能嘗試什么有任何其他建議? 或者任何人都可以嘗試讓代碼工作,讓我知道它是怎么回事?

String url = "http://www.mouser.com/ProductDetail/Vishay-Thin-Film/PCNM2512E1000BST5/? 
qs=sGAEpiMZZMu61qfTUdNhG6MW4lgzyHBgo9k7HJ54G4u10PG6pMa7%252bA%3d%3d"    
WebClient web = new WebClient();
String html = web.DownloadString(url);
MessageBox.Show(html);

編輯:鏈接應該在這里: 鏈接

編輯:我嘗試了以下大塊代碼,沒有運氣:

String url = "http://www.mouser.com/ProductDetail/Vishay-Thin-Film/PCNM2512E1000BST5/? 
qs=sGAEpiMZZMu61qfTUdNhG6MW4lgzyHBgo9k7HJ54G4u10PG6pMa7%252bA%3d%3d"    
WebClient web = new WebClient();
web.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2";
String html = web.DownloadString(url);
MessageBox.Show(html);

需要免費下載Fiddler (最初由微軟開發),它可以讓你記錄瀏覽器會話。 因此,啟動它打開chrome或任何瀏覽器,然后執行步驟。 完成后,您可以停止它並查看每個請求和響應以及發送的原始數據。

可以輕松發現代碼和瀏覽器之間的差異。

還有許多免費工具可以獲取您的請求/響應數據並為您生成C#代碼,例如Request To Code 這不是唯一一個,我不在工作,我不記得我在那里使用的那個,但有很多可供選擇。

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM