你好,亚历克斯、
这篇文章写得很好--我有一个 "第 3 部分 "的请求:XML-RPC 客户端通信(如果可能,也包括服务器)。
干杯
执行 以下语句时,系统会 崩溃, 应 如何 解决?
hConnect=InternetConnectW(hSession, aHost, aPort, aUser, aPass, aService, 0, 0);
错误: 在"......ex5 "中读取 0x0000000000001F94 时存在访问违规行为
第 161 行有一个小错误。这一行应该是
else StringToCharArray(req.stData, data, 0, StringLen(req.stData));
这是因为终端 0 被复制到了数组中,而 HttpSendRequestW 会将终端 0(就像一个额外的字符)发送到最后一个 post var 值。例如,如果你的数据是
var1=value1&var2=value2
你就会在网页中得到与 value1 相关联的 var1 和与 value2\0 相关联的 var2。
这是一篇很棒的文章。感谢您的分享。
致敬
上次 MT5 升级后,wininet 无法使用,ir 生成了访问违规错误。有什么建议可以克服这个错误?我一直在尝试,但没有成功。
mundoforex:
访问违规错误已解决,但 POST 请求现在无法正常工作。显然,uchar 数组中的数据没有正确发送到 dll 函数。
一段时间后,我仍然遇到访问违规错误。
访问违规错误已解决,但 POST 请求现在无法正常工作。显然,uchar 数组中的数据没有正确发送到 dll 函数。
为什么没人关心这个问题?
mundoforex:
为什么没人关心这个问题?
我和你一样...我一直在焦急地等待解决方案,但没有人回复我。我以为管理员告诉我的上次更新会解决这个问题,但更新后他们就再也没有回复我了 :(
为什么没人关心这个问题?
在使用该对象类时,我还遇到了一些访问违规错误。问题出在调用 HttpOpenRequestW 函数时将 "0 "作为 NULL 指针。试着将调用
--- hRequest=HttpOpenRequestW(hConnect, req.stVerb, req.stObject, Vers, nill, 0, INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_RELOAD|INTERNET_FLAG_PRAGMA_NOCACHE, 0);
调用:
+++ hRequest=HttpOpenRequestW(hConnect, req.stVerb, req.stObject, Vers, NULL, NULL , INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_RELOAD|INTERNET_FLAG_PRAGMA_NOCACHE, 0);
有趣的是,在 MSDN 文档 中,不当使用 NULL 指针甚至被明确列为崩溃原因之一:
Failing to properly terminate the array with a NULL pointer will cause a crash.
HttpOpenRequest function (Windows)
- msdn.microsoft.com
Creates an HTTP request handle. Syntax Parameters hConnect [in] lpszVerb [in] A pointer to a null-terminated string that contains the HTTP verb to use in the request. If this parameter is NULL, the function uses GET as the HTTP verb. lpszObjectName [in] A pointer to a null-terminated string that contains the name of the target object of the...
我想从我的个人资料中获取产品报告,但我做不到,我做错了什么?
新文章 在 MQL5 中使用 WinInet。第二部分:POST 请求和文件已发布:
在本文中,我们将继续学习使用 HTTP 请求处理互联网和与服务器进行信息交换的原则。它介绍了 CMqlNet 类的新函数、从表单发送信息的方法、使用 POST 请求发送文件的方法以及使用 Cookie 在您登录网站时进行身份验证。
作者:o_O