Tôi đang cố gắng sử dụng WebClient/HttpWebRequest để tải xuống một số dữ liệu từ máy chủ. Tôi sử dụng mã sau để làm như vậy:Máy chủ đã vi phạm giao thức. Section = ResponseHeader Chi tiết = CR phải được theo sau bởi LF, Trong WinForms?
WebClient client = new WebClient();
client.Credentials = new NetworkCredential("admin", "password");
Stream datastream = client.OpenRead("http://routerlogin.com/cgi-bin/CF_logs.html");
StreamReader reader = new StreamReader(datastream);
Máy chủ là trang của tôi đang ở trong cấu hình của bộ định tuyến. Nó hoạt động tốt từ trình duyệt, nhưng khi tải xuống sử dụng mã của tôi, nó sẽ gửi một số WebException
với thông báo
Máy chủ vi phạm giao thức. Phần = ResponseHeader Chi tiết = CR phải được theo sau bởi LF, Trong WinForms ?.
Tôi đã tìm thấy một giải pháp người ta sẽ sử dụng nếu họ đang sử dụng ASP.net, thêm dòng sau vào web.config:
<configuration>
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true" />
</settings>
</system.net>
</configuration>
Tuy nhiên, tôi đang làm cho một ứng dụng WinForms vì vậy đây sẽ không làm việc cho tôi. Có những lựa chọn thay thế nào để khắc phục vấn đề này?
điều này sẽ hoạt động đối với tất cả các loại ứng dụng, không chỉ asp.net – shriek
tôi nên thêm nó ở đâu? Không có web hoặc app.config. – msbg
Điều kỳ lạ tôi đang gặp phải là lỗi đó xuất hiện trên một máy tính với mạng của chúng tôi nhưng các máy tính khác có cùng ứng dụng hoạt động tốt. Khi tôi thêm ở trên đề cập đến rằng pc cũng bắt đầu làm việc tốt. Câu hỏi là tại sao vấn đề đó chỉ là trên một máy tính duy nhất (có cài đặt mới) –