在您将此标记为冗余之前,请知道我已经尝试了很多在Web上发布的方法(包括堆栈溢出),但它们都无法满足我的需求。还要注意我对编程世界很陌生,请原谅我滥用技术术语。
现在我正在编写一个C ++程序来计算用户计算机中的一些数据(例如IP地址),然后我将IP地址发送到已经设置的服务器。我通过URL执行此操作。例如,如果服务器位于http://stack1234abcdz.com,并且用户的IP地址是100.100.100.100,那么我会请求
http://stack1234abcdz.com/?ip="100.100.100.100
我已经尝试了libcurl并且它在某种程度上有效,但是在编译之后,我需要在与.exe相同的目录中使用5.dll才能运行它,由于我的问题的一些可移植性,我不能拥有它。 / p>
我还尝试了其他一些传统的套接字方法,但是它们需要大量的库和SDK,这些库很难配置,而且它们经常让像我这样的新手淹没。我需要做的是非常简单(我甚至不需要服务器发回任何东西,除了成功或失败代码),因此我认为我不需要那么多这么做。
我在Windows 7(64位)机器上使用Visual Studio 2006,做C ++。我不能使用更新的版本,因为给我的大多数其他代码都在VS2006中,并且它们不能很好地转换/转换为新版本。
我想我现在要问的是接下来要做什么。有没有办法使用libcurl使可执行文件不使用5 .dll?我在某个地方看到我必须做一些静态连接的东西,但它们并不是非常具体。
或者是否有更简单的方法来解决我忽略的问题? WinInet的? CAtlHttpClientT?卡萨布兰卡?我不想安装和配置我尚未理解的复杂库,尤其是我的问题的大小...
非常感谢有关此事的任何帮助/意见/反馈,谢谢!
答案 0 :(得分:2)
经过大量的试验和错误后,我解决了自己的问题。 我在CInternetSession类中使用了OpenURL()函数。 在大约25行代码中做了一个简单的开放。遇到一些问题,包括afxinet.h,stdafx.h,httpClient.h。该命令对我有用,但对其他程序可能有所不同。