2009-04-15 33 views
10

Ứng dụng của chúng tôi sử dụng libcurl cho HTTP và chúng tôi muốn truy cập vào cài đặt proxy của Internet Explorer. Câu hỏi tràn ngăn xếp trước đó recommends that we use WinHttpGetIEProxyConfigForCurrentUser and WinHttpGetProxyForUrl.Cách được khuyến nghị để có được winhttp.h là gì?

Thật không may, tiêu đề winhttp.h dường như không được đưa vào bản sao của chúng tôi hoặc Visual C++ 2005 hoặc Visual Studio 2008. Rõ ràng, it's possible to download an updated Platform SDK and install it in Visual C++ 2005, nhưng đó là một quá trình khá đau đớn và không nhất thiết phải làm việc với phiên bản mới hơn của Visual Studio.

Có cách nào tốt, được hỗ trợ tốt để truy cập API WinHTTP 5.1 từ C++ không? Hay chúng ta nên tránh sử dụng các API này?

Trả lời

15

Cách tốt nhất, được hỗ trợ tốt để truy cập API WinHTTP 5.1 từ C++ là thông qua Windows SDK (tên mới cho SDK nền tảng) và sử dụng các API bạn đã đề cập.

Bài viết bạn đã liên kết để đề xuất rằng việc cài đặt SDK rất khó - tin tốt là một bài viết cũ từ năm 2006 và mọi thứ trở nên dễ dàng hơn nhiều trong những ngày này. Chỉ cần thực hiện như sau:

  1. Tải xuống hình ảnh SDK ISO mới nhất từ ​​here - đừng lo lắng về việc được gọi là "SDK cho Windows Server 2008", nó cũng dành cho Server 2003, XP và Vista.
  2. Ghi vào đĩa DVD
  3. Chạy setup.exe trên DVD, chọn cài đặt đầy đủ và để nó chạy trong khoảng 1/2 giờ.
  4. Sau khi cài đặt, goto Start -> Programs -> Microsoft Windows SDK -> Visual Studio Đăng ký ->Tích hợp Windows SDK với Visual Studio 2005

Bạn thậm chí có thể được nhắc để chạy các công cụ tích hợp trong khi cài đặt - nó được một lúc kể từ khi tôi cài đặt nó vì vậy tôi không thể nhớ chính xác.

Trình biên dịch Visual C++ sau đó sẽ có thể tìm thấy winhttp.h và winhttp.lib trong các thư mục thích hợp.

Cập nhật Như thường lệ, mọi thứ không bao giờ đơn giản như trước. EMK đã chỉ ra rằng công cụ cấu hình Windows SDK không hoạt động đúng với Visual Studio 2008 (phiên bản bất kỳ) và treo sau khi cài đặt Visual Studio 2008 SP1. Chi tiết và cách giải quyết được báo cáo herehere.

+0

Cảm ơn! Là cài đặt đầy đủ thực sự cần thiết, hoặc chúng ta có thể nhận được ngay với chỉ cài đặt (ví dụ) các bộ phận C + + có liên quan? – emk

+1

Tôi quên những tùy chọn có - bạn có thể có thể lấy đi chỉ với các tiêu đề và thư viện Win32. Tuy nhiên, tôi thường cài đặt hoàn toàn mọi thứ, vì không gian đĩa là rẻ nhưng có lẽ là thời gian của bạn (để tìm ra những thành phần bạn cần) là không. – snowcrash09

+0

Đủ công bằng! Chúng tôi cần phải cài đặt nó trên rất nhiều máy móc, vì vậy tôi nghĩ rằng nó có thể là giá trị để tìm ra những thành phần chúng tôi thực sự cần. Cảm ơn vì lời khuyên! – emk

2

Bạn hoàn toàn không cần toàn bộ SDK Chỉ cần tải xuống phần bên phải, xem MSDN để lựa chọn.

+0

Tôi đồng ý bạn không * cần * toàn bộ điều, nhưng đối với nhiều người tìm ra phần bên phải là đắt hơn so với chỉ cần cài đặt tất cả của nó. – snowcrash09

6

Trong trường hợp bất kỳ ai xem qua bài đăng này và tò mò về các thành phần tối thiểu có thể được cài đặt để cài đặt, cài đặt Microsoft Windows Core SDK> Môi trường xây dựng> Môi trường xây dựng (x86 32-bit) đã hoạt động cho tôi.

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