如何在 C# 互操作中使用 InternetQueryOption
How to use InternetQueryOption in C# interop?
本文关键字:InternetQueryOption 互操作 更新时间:2023-10-16
在我的C#代码中,我想使用MSDN中定义的InternetQueryOption,例如:
BOOL InternetQueryOption(
__in HINTERNET hInternet,
__in DWORD dwOption,
__out LPVOID lpBuffer,
__inout LPDWORD lpdwBufferLength
);
在我的 C# 代码中,我写道:
[DllImport("wininet.dll", SetLastError = true)]
static extern bool InternetQueryOption(
IntPtr hInternet,
uint dwOption,
IntPtr lpBuffer,
ref int lpdwBufferLength);
我的C++代码:
...
HINTERNET hRequest = HttpOpenRequest(hConnect, "POST","/BM-Login/auth-cup", NULL, NULL, accept, secureFlags, 0);
DWORD dwFlags;
DWORD dwBuffLen = sizeof(dwFlags);
InternetQueryOption (hRequest, INTERNET_OPTION_SECURITY_FLAGS,
(LPVOID)&dwFlags, &dwBuffLen);
dwFlags |= SECURITY_FLAG_IGNORE_UNKNOWN_CA;
dwFlags |= SECURITY_FLAG_IGNORE_REVOCATION;
dwFlags |= SECURITY_FLAG_IGNORE_CERT_DATE_INVALID;
dwFlags |= SECURITY_FLAG_IGNORE_CERT_CN_INVALID | SECURITY_FLAG_IGNORE_WRONG_USAGE;
InternetSetOption (hRequest, INTERNET_OPTION_SECURITY_FLAGS,
&dwFlags, sizeof (dwFlags) );
...
如何在 C# 中编写相同的内容?谢谢。(对不起,我的英语很差)
我建议为此使用托管代码,而不是通过互操作执行此操作。看看 WebRequest 类。另外,请查看我对堆栈溢出问题 C# https 登录和下载文件的回答,以获取如何使用此类的工作示例。
相关文章:
- 没有找到相关文章