2016-11-05 1 views
1

Ich möchte eine JSON-Zeichenfolge über die HTTP-Methode GET übergeben. Server-Seite erfordert eine JSON wie folgt:Übergeben einer JSON-Zeichenfolge an HTTP GET-Methode mit libcurl

const char* json[]= {\"revisions\":[{\"revision\":\"01\"},{\"revision\":\"02\"},{\"revision\":\"03\"},{\"revision\":\"04\"}]} 

So will ich so JSON wie dies passieren, aber ich bin mir nicht sicher, ob ich es auf eine Abfrage-String-Format konvertieren soll oder nicht, wie folgt aus:

curl_easy_setopt(curl, CURLOPT_URL, "http://example.com?{\"revisions\"[{\"revision\":\"01\"},{\"revision\":\"02\"},{\"revision\":\"03\"},{\"revision\":\"04\"}]}"); 

Ich weiß, ich sollte in diesem Fall POST verwenden. Die Anforderung von der Serverseite erfordert jedoch die Verwendung von GET. Jede Hilfe wäre willkommen.

+0

Wie meinen Sie "es auf die GET-Methode übergeben?" Das sind alles englische Wörter, die in einer Kombination stehen, die nichts bedeutet, wenn man HTTP spricht. Bitte erläutern Sie genau, wie Ihre HTTP-Anfrage aussehen sollte! –

+0

@DanielStenberg. Tut mir leid, dass ich dich verwirrt habe. Ich meine, wie solche JSON-String (Parameter) über GET-Methode an den Server übergeben werden. Ich weiß, dass ich es per Query-String zu uri hinzufügen sollte, aber ich bin mir nicht sicher, ob ich es in Query-String-Format konvertieren muss – knjp

Antwort

0

Neben einem Query-String, können Sie Daten in HTTP-GET-Anfragen über geben:

  • HEADER:

    struct curl_slist *chunk = NULL; 
    chunk = curl_slist_append(chunk, "JSON: {\"revisions\"[{\"revision\":\"01\"},{\"revision\":\"02\"},{\"revision\":\"03\"},{\"revision\":\"04\"}]}"); 
    curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk); 
    
  • PLäTZCHEN:

    curl_easy_setopt(curl, CURLOPT_COOKIE, "JSON={\"revisions\"[{\"revision\":\"01\"},{\"revision\":\"02\"},{\"revision\":\"03\"},{\"revision\":\"04\"}]}"); 
    

Referenzen