2010-08-25 51 views
5

Có một số câu hỏi như thế này, nhưng tình hình của tôi có vẻ hơi khác một chút. Tôi có mã cực kỳ đơn giản:Máy mục tiêu chủ động từ chối kết nối

WebClient client = new WebClient(); 
client.DownloadFile("http://www.xkcd.com", "xkcd.html"); 

Tuy nhiên, tôi gặp lỗi "Không thể kết nối vì máy đích đã chủ động từ chối kết nối". Tuy nhiên, tôi cũng thấy sự cố này với các kết nối đến bất kỳ trang web nào. Nó cũng chỉ xuất hiện trong các ứng dụng .NET, đột nhiên, không ai trong số họ có thể truy cập web. Bất kỳ ý tưởng nào?

+0

Bạn có vô tình yêu cầu ứng dụng .NET của mình sử dụng máy chủ proxy không, vì vậy không có gì lắng nghe cổng đó? –

+0

Kiểm tra xem bạn đã bắt đầu dịch vụ web chưa. – Sandeep

Trả lời

0

Người dùng mà mã của bạn đang chạy có liên quan. Ví dụ, mã có thể hoạt động trong một ứng dụng giao diện điều khiển/WinForms nhưng không hoạt động trong một ứng dụng ASP.NET.

1

Với mục đích kiểm tra sự tỉnh táo, tôi thích sử dụng PowerShell để gọi cho api, vì vậy tôi khuyên bạn nên làm nếu có thể.

Ngoài ra, hãy đảm bảo thử url đó trong IE trên hệ thống chỉ để đảm bảo không có gì lạ xảy ra (proxy bắt buộc, trang web thực sự bị hỏng, tệp DNS hoặc máy chủ đang giải quyết nó cho một thứ khác, v.v.).

C:\Users\james » $wc = new-object system.net.webclient 
C:\Users\james » $wc.DownloadFile("http://www.xkcd.com", "xkcd.html") 
C:\Users\james » dir .\xkcd.html 


    Directory: Microsoft.PowerShell.Core\FileSystem::C:\Users\james 


Mode   LastWriteTime  Length Name 
----   -------------  ------ ---- 
-a---  8/26/2010 1:08 AM   7454 xkcd.html 
0

Cố gắng truy cập trang web bằng trình duyệt Internet Explorer. Vấn đề là WebClient sử dụng các thiết lập proxy từ IE. Và có bất kỳ cài đặt proxy sai nào bạn sẽ nhận được thông báo bạn có.

+0

Hmm, nó cũng sẽ không xuất phát từ IE. Vì vậy, vấn đề của tôi đã trở thành một vấn đề IE bây giờ. –

Các vấn đề liên quan