0

Java アプリケーションを C++ に変換しようとしています。リクエストに cURL を使用しています。以下は Java コードです。メソッドを複製するconnection.setRequestProperty()方法を考えています。

connection = (HttpURLConnection) url.openConnection();
connection.setInstanceFollowRedirects(false); 
connection.setReadTimeout(10000);
String userId= =getUserId()
connection.setRequestProperty("UserID", userId);

以下は、動作しない私の現在のコードです。

struct curl_slist *headers=NULL;
curl_slist_append(headers, "UserID="2"); 

curl_easy_setopt(curl,CURLOPT_HTTPHEADER,headers); 
curl_easy_setopt(curl, CURLOPT_URL,url.c_str());
curl_easy_setopt(curl,CURLOPT_SSLVERSION, CURL_SSLVERSION_SSLv3);
curl_easy_setopt(curl, CURLOPT_CAINFO, certDataPath.c_str());
CURLcode c =curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, postRequestCallback); 

以下は、失敗している Java サーブレット コードです (id が null または空です)。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws 
ServletException, IOException {
...
...
String ud = request.getHeader("UserID");
}

setRequestPropertycURLに相当するコマンドは何ですか。

明らかな何かが欠けていると確信しています。

4

1 に答える 1

2

ヘッダー文字列の形式がオフになっている可能性があります。

curl_slist_append(headers, "UserID: 2");

ああ、結果を代入する必要があるので、

headers = curl_slist_append(headers, "UserID: 2");

于 2012-01-03T03:02:41.607 に答える