2013-03-04 8 views
5

Tôi hiện đang cố viết một ứng dụng Windows Phone 7.1 cho phép bạn truy cập thông tin về lớp Coursera, bao gồm cả các bài giảng trực tuyến.Số điện thoại WindowsTransferRequest của Windows Phone

Tôi muốn có thể cũng cho phép người dùng tải xuống video bài giảng một trang trình bày (PDF). Thật không may các tập tin được bảo vệ. Đây không phải là một vấn đề bình thường. Tôi đã thiết lập ClientHttpWebRequest để sử dụng CookieContainer. Đây là tất cả tốt và tốt.

Điều thú vị xảy ra khi cố gắng sử dụng BackgroundTransferRequest để tải xuống nội dung. Lớp học không cho phép bạn cung cấp một phiên bản CookieContainer cho cookie. Điều này có nghĩa là tôi phải đặt giá trị bằng cách sử dụng BackgroundTransferRequest.Headers.

Coursera trả về cookie phiên làm cookie HttpOnly. Thật không may, ClientHttpWebRequest không cho phép bạn truy cập các cookie HttpOnly từ phản hồi và, theo proxy, có nghĩa là tôi không thể đọc cookie phiên từ CookieContainer.

Có điều gì rõ ràng rằng tôi đang bỏ lỡ điều đó sẽ cho phép tôi truy cập vào giá trị mà tôi quan tâm hoặc tôi cần phải tìm ra cơ sở hạ tầng Chuyển tệp nền của riêng mình không?

Trả lời

1

Không, bạn không thiếu gì cả. Đây là một khoảng trống trong việc cung cấp SDK.

Tôi có thể nghĩ đến 2 lựa chọn thay thế có thể.

  1. Cho phép ứng dụng chạy dưới màn hình khóa và tự xử lý bản tải xuống. - Đây là cách chúng tôi phải làm trước khi chuyển tập tin nền.

  2. Có máy chủ proxy của riêng bạn nằm giữa ứng dụng và trang web khác có thể xử lý mặt cookie của mọi thứ cho bạn và cung cấp tệp trực tiếp cho ứng dụng. Rõ ràng có lẽ những cân nhắc an ninh quan trọng cần tính đến trước khi áp dụng cách tiếp cận này. Cũng có thể có thêm chi phí cho việc chạy và duy trì máy chủ.