如何解决来自 Steam 社区市场的卷曲数据
我一直在尝试从 Steam 社区市场获取数据, 代码:
#include <iostream>
#include <string>
#include <curl/curl.h>
static size_t WriteCallback(void* contents,size_t size,size_t nmemb,void* userp)
{
((std::string*)userp)->append((char*)contents,size * nmemb);
return size * nmemb;
}
int main(void)
{
CURL* curl;
CURLcode res;
std::string readBuffer;
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl,CURLOPT_URL,"http://steamcommunity.com/market/priceoverview/?market_hash_name=AK-47%20%7C%20Redline%20%28Field-Tested%29&appid=730¤cy=1");
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,WriteCallback);
curl_easy_setopt(curl,CURLOPT_WRITEDATA,&readBuffer);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
std::cout << readBuffer << std::endl;
}
return 0;
}
但是当我运行它时,什么也没有显示。 任何帮助表示赞赏, 谢谢
解决方法
curl
默认不遵循重定向,您提到的网站使用这些。
我必须打开 CURLOPT_FOLLOWLOCATION
才能使其工作:
curl_easy_setopt(curl,CURLOPT_FOLLOWLOCATION,1L); // redirects
// bonus:
curl_easy_setopt(curl,CURLOPT_HTTPPROXYTUNNEL,1L); // corp. proxies etc.
可能的输出:
{"success":true,"lowest_price":"$19.00","volume":"477","median_price":"$18.95"}
在调试时,您可能也希望使用此选项来查看 curl
的用途:
curl_easy_setopt(curl,CURLOPT_VERBOSE,1L);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。