1

次のような HTTP リクエストがあるとします。

POST /safebrowsing/downloads?client=Firefox&appver=3.0.8&pver=2.2&wrkey=AKEgNiux-3bBzAgJeFWgqbneh_GLc2OrmgXnpxPrdH1-hFpbAM8k1ovPA8GB_UMRueBHnL3QJ7gsdQOWVm6QJr_VZNgAm8jmLQ== HTTP/1.1
Host: safebrowsing.clients.google.com
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko/2009033100 Ubuntu/9.04 (jaunty) Firefox/3.0.8
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Content-Length: 120
Content-Type: text/plain
Cookie: PREF=ID=551a1b8848e36099:U=e6fa7464d7c48884:FF=0:TM=1327553284:LM=1345022478:S=Qd0IssyrqLi17a4s; NID=62=R9Y5bkQ5iLF8zlyhma1gnRBfxPDoWuG2FibC2wc5u0eAIQgAuo4WCXMeLhdPZ7FXJEpN2Sw1a6da6QUNP7OC5OqTYK0Y39vd6c2fUh4BhY2B5CGsKtHuQ5RCpSnefSkb

goog-malware-shavar;a:83372-91327:s:59904-95254:mac
goog-phish-shavar;a:227421-233955,235041-235401:s:107142-110470:mac

ヘッダーを処理するコードの部分は既に作成しています。ただ、メッセージ本文部分の扱いがよくわかりません。CURL サンプル コードを読みましたが、データを処理する方法ではない HTTP フォーム POST のソリューションを提供しています。関数を使用してメッセージ本文を処理するために使用する必要があるパラメーターを知っている人はいますcurl_easy_setopt()か?

4

2 に答える 2

6

参考までに: cURL は、特定の HTTP リクエストのアドホック オプションを一覧表示する非常に便利なオプションを提供します。

--libcurl <file> Dump libcurl equivalent code of this command line

オプションのリストを出力するため、このオプションを使用している間は、cURL (および対応するオプション、たとえば POST を実行するなど) を介してリクエストを実行する必要がありcurl_easy_setoptます。

curl --libcurl out.c http://stackoverflow.com/ > /dev/null

次にout.c、エディター内でファイルを開きます。

...
curl_easy_setopt(hnd, CURLOPT_URL, "http://stackoverflow.com/");
curl_easy_setopt(hnd, CURLOPT_PROXY, NULL);
curl_easy_setopt(hnd, CURLOPT_NOPROGRESS, 0);
...
于 2012-09-25T10:50:34.123 に答える
0
const char *post_data = "any_data";
...
curl_easy_setopt(curl_handle, CURLOPT_POST, 1);
curl_easy_setopt(curl_handle, CURLOPT_POSTFIELDS, post_data);
于 2012-09-14T06:03:59.767 に答える