問題タブ [casablanca]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
10902 参照

c++ - C++、utility:string_t から std::string への変換が復帰時にクラッシュする

casablanca ライブラリを使用して json 値をシリアル化しています。

typedef std::wstring string_tこれを使用して std::string への変換を試み、wstring から string に変換しました。コンパイルは問題ありませんが、リターン行を実行するとプログラムがクラッシュします。

なぜこれがクラッシュしているのか理解できません。以下は、その関数を呼び出す行です。

free(_Ptr)プログラムは、xdebug というファイルの行でブレーク ポイントをトリガーしました。ここで言っていることがよくわかりません。これがあなたのために物事を明確にするのに役立つことを願っています.

ありがとう!

0 投票する
3 に答える
147 参照

c++ - オブジェクトのリストをループする

オブジェクトを含むリストをループしようとしていました。天気 API を使用してデータを読み込み、各データ メンバーをオブジェクトとして格納してから、各オブジェクトをリストに格納しています。リスト全体を保存した後、リストをループしてオブジェクトを表示できるようにしたいと考えています。私はJsonとしてデータを読み込んでおり、そのためにcasablancaパッケージを使用しています。私がやりたいことは、私のリストを私のmain.cppのdisplayFullForcast関数でループできるようにすることだけです。これが私のリスト定義です:

これが私のヘッダーです:

これが私の実装です:

ここに私のmain.cppがあります

** 行 cout << *it << endl; でまだこのエラーが発生しています。エラー: これらのオペランドに一致する演算子 "<<" はありません。オペランドの型は std::ofstream と Weather です。

0 投票する
1 に答える
480 参照

c++ - 両方の POST データとヘッダー データを使用しながら、Casablanca で API 呼び出しを実行するにはどうすればよいですか?

現在、casablanca/C++ Rest SDK 経由で POST リクエストを送信する方法を探しています。

これは reddit API 用であり、POST データで 3 組の値を送信し、ヘッダーで 2 組を送信することになっています。

次のようにヘッダーに値を追加できることを知っています。

また、POST データを添付する方法も知っています。

ただし、両方を 1 つのリクエストにマージする方法がわかりません。

ヘッダー データをある種のパラメーターとして渡しながら、バージョン 2 ですべてを実行できると感じていますが、その方法がよくわかりません。ドキュメンテーションを読んでいるのですが、どのパラメータも「このデータをここに入れ、そのデータをここに入れなさい」というようなことを言っているので、どの時点で何を渡せばよいのか混乱しています。

また、私はネットワーク プログラミングのこの側面に関する語彙の経験があまりないため、自分で理解することはできません。

これについて何かアドバイスをいただければ幸いです!

0 投票する
2 に答える
3324 参照

c++ - REST SDK 経由でバイナリ データ (protobuf) を受信するには?

Microsoft REST SDK を使用して、protobuf オブジェクトを送受信しようとしています。protobuf に慣れていない場合は、他の生データである可能性があると想像してください。クライアント側では、ベクトルは空です。サーバー側でストリームを正しく作成していないと思います。

サーバーの get メソッドは次のようになります。

クライアントメソッドは次のようになります。

0 投票する
1 に答える
3880 参照

c++ - cpprestsdk の「ssl ハンドシェイクのエラー」を修正するには?

cpprestsdk "Casablanca" マスター ブランチを https URL で使用しています。Windows と osx の両方で動作していますが、Linux で実行すると "Error is ssl handshake" というメッセージが表示されました。

動作するFirefoxを使用してこのURLを開こうとしました。

http url で使用すると、正しく機能しました。コードを確認したところ、「http_client_asio.cpp」という名前のファイルにこのメッセージが見つかりました。

クライアント側では、このようにhttpクライアントを作成しました

このエラーを修正するにはどうすればよいですか?

0 投票する
1 に答える
605 参照

c++ - 応答コード 302 の CPPREST リダイレクトの場所

CPPREST http_client を使用して RSS フィードを取得しています:

http://www.20min.ch/rss/rss.tmpl?type=channel&get=68

しかし、リダイレクト応答コードを受信して​​います: 302

応答の本文を確認すると、次のようになります。

受信応答ステータス コード:302

応答は [HTTP/1.1 302 Found

年齢: 0

接続: キープアライブ

コンテンツタイプ: text/html

日付: 2016 年 3 月 14 日 (月) 06:30:48 GMT

キープアライブ: タイムアウト=30、最大=100

場所: http://www.20min.ch/redirect?url=www.20min.ch:80

サーバー: Kaesebrot 1.23-rc1

....

http://www.20min.ch/redirect?url=www.20min.ch:80へのリダイレクト"> http://www.20min.ch/redirect?url=

応答の場所フィールドで受け取った URL で再試行すると、http://www.20min.ch/redirect?url=www.20min.ch:80

私はまだ302の同じ応答を受け取ります。

MI が間違ったリダイレクト URL を使用していますか?

また、CPPREST でリダイレクト URL を見つけるために、ダイレクト メソッドが見つかりませんでした。応答本文を検索して substr を見つける必要がありました。

http://www.20min.ch:80/rss/rss.tmpl?type=channel&get=68で再試行しまし たが、同じ 302 応答です。親切にアドバイス。

0 投票する
1 に答える
4591 参照

c++ - カール vs CPPREST

CPPREST http_client を使用して URL にアクセスしようとしています:

http://www.20min.ch/rss/rss.tmpl?type=channel&get=68

URL リダイレクトの応答コード 302 を受け取りました。

しかし、CURL を使用して同じ URL にアクセスしようとすると、CURLE_OK が表示されます。

以下は2つのコードです:

カールを使用:

出力は次のとおりです。成功

CPPREST を使用:

出力は:: 応答コードは: 302

同じ URL に対して 2 つのライブラリの動作が異なる理由がわかりません。

アップデート :

私も試しました:

しかし、レスポンスは cpp rest と同じ 302 です。[ クロスチェックの場合 bing の例

正常に動作しています]

更新 2:

@Matt Weber で説明されている方法は非常に役に立ち、正当に思えますが、エラー コード : 400 を継続的に取得しているため、以下のことを試しました: uri_builder で URL のホストとポートを設定しようとしました。

それでも同じ 302 です。