winhttp الحصول على طلب c ++
-
22-09-2019 - |
سؤال
سأصل إلى هذه النقطة.
هذا ما يبدو عليه طلب المتصفح
get /index.html http /1.1
هذا ما يفعله winhttp
احصل على http://site.com/index.html http/1.1
هل هناك أي شيء يمكنني الحصول على طلب winhttp ليكون نفس التنسيق مثل التنسيق العادي؟ أنا أستخدم VC ++ 2008 إذا كان يحدث أي فرق
المحلول
يجب أن يبدو الرمز الخاص بك هكذا:
// Specify an HTTP server.
if (hSession)
hConnect = WinHttpConnect( hSession, L"www.example.com",
INTERNET_DEFAULT_HTTP_PORT, 0);
// Create an HTTP request handle.
if (hConnect)
hRequest = WinHttpOpenRequest( hConnect, L"GET", L"/path/resource.html",
NULL, WINHTTP_NO_REFERER,
WINHTTP_DEFAULT_ACCEPT_TYPES,
WINHTTP_FLAG_SECURE);
// Send a request.
if (hRequest)
bResults = WinHttpSendRequest( hRequest,
WINHTTP_NO_ADDITIONAL_HEADERS,
0, WINHTTP_NO_REQUEST_DATA, 0,
0, 0);
هل يمكنك نشر هذه المكالمات الثلاثة من الكود الخاص بك؟
لاحظ أن عنوان URL الكامل يتم تقسيمه إلى قسمين - يتم تحديد اسم المضيف في WinHttpConnect
المكالمة ، ولكن تم تحديد مسار الموارد النسبي في WinHttpOpenRequest
استدعاء (مثل pwszObjectName
معامل). بناءً على تعليقك ، يبدو أنك تحدد عنوان URL الكامل في WinHttpConnect
يتصل.
لا تنتمي إلى StackOverflow