2012-05-03 62 views
2

我需要使用C++發送http獲取請求。我以現在的代碼是:向網站發送http獲取請求,忽略使用C++的響應

#include <iostream> 
#include <fstream> 
#include <cstdlib> 
using namespace std; 

int main() 
{ 
    ifstream llfile; 
    llfile.open("C:/AdobeRenderServerLog.txt"); 

    if(!llfile.is_open()){ 
     exit(EXIT_FAILURE); 
    } 

    char word[50]; 
    llfile >> word; 
    cout << word; 
    llfile.close(); 
    return 0; 
} 

請求將東西送到:

www.example.com/logger.php?data=word

+0

「忽略請求」?是吧? –

+0

@MarcB:看到這個URL例子,我會說他只是想在不考慮結果的情況下執行他的請求,因此沒有解析響應。 – psycho

+0

@MarcB Typo。忽略響應。 –

回答

1

可能最簡單的就是使用libCurl

使用 'easy interface' 你只需要調用curl_easy_init(),然後curl_easy_setopt()設置URL,然後curl_easy_perform()來讓它做的越來越。如果你想要響應(或進度等),那麼在setopt()中設置合適的屬性。一旦完成,請調用curl_easy_cleanup()。任務完成!

該文檔是全面的 - 它不僅僅是一個簡單的lib獲取http請求,而是幾乎每個網絡協議。意識到文檔看起來相當複雜,但它並不是真的。

這可能是一個想法,直奔example代碼,簡單的一個看起來是這樣的:

#include <stdio.h> 
#include <curl/curl.h> 

int main(void) 
{ 
    CURL *curl; 
    CURLcode res; 

    curl = curl_easy_init(); 
    if(curl) { 
    curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); 
    res = curl_easy_perform(curl); 

    /* always cleanup */ 
    curl_easy_cleanup(curl); 
    } 
    return 0; 
} 

,但你可能要檢查出「get a file in memory」樣品或「replace fopen」一個爲好。

+0

感謝您的回覆。我無法將Curl庫鏈接到我的編譯器。我正在使用代碼塊。 –

+0

解決!我發現安裝Curl的另一篇文章。 –

相關問題