我正在使用Windovs的C++編寫應用程序以使用雲服務Amazon。我需要在網站上獲得授權才能使用特定數據,並且我想獲得Access令牌。問題是我想要的,我沒有使用瀏覽器獲得授權,但我不明白如何。我使用捲曲的項目,併發送類似如下的要求:當我得到響應我有一個HTML頁面的授權文件的副本在沒有瀏覽器的情況下登錄亞馬遜
int main(void) {
CURL *curl;
CURLcode res;
struct curl_slist *list = NULL;
FILE *Response = fopen("Response.txt", "wb+");
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://www.amazon.com/ap/oa?client_id=%MY CLIENT ID%scope=clouddrive:read_all&response_type=token&redirect_uri=http://localhost");
list = curl_slist_append(list, "Accept: text/html");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);
curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);
curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, SaveData);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, Response);
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
/* Perform the request, res will get the return code */
res = curl_easy_perform(curl);
/* Check for errors */
if (res != CURLE_OK)
fprintf(Response, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
curl_slist_free_all(list);
/* always cleanup */
curl_easy_cleanup(curl);
}
。/下面是答案的一部分/
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
<script type='text/javascript'>var ue_t0=ue_t0||+new Date();</script>
<script type='text/javascript'>
var ue_csm = window,
ue_hob = +new Date();
如果我不能使用的瀏覽器,而我可以用Web瀏覽器(無邊框)打開一個小窗口,並接收來自服務器的數據(訪問令牌)。文檔中沒有任何內容(Amazon文檔)。