2016-12-22 5 views
0

私はAFNetworkingを使用してWebリクエストを作成しています。私はNSURLProtocolをサブクラス化し、メソッドはそれをデフォルトのNSURLSessionConfigurationをオーバーライドし、Web要求をインターセプトするために私のプロトコルクラスを追加するためにswizzledしました。 canInitが呼び出されたときに、リクエストデータを印刷しようとしましたが、具体的にはボディとクエリが必要ですが、常に両方に対してnullが出力されます。私は要求が正しく傍受されていることを知っていますが、彼らは単に身体/クエリデータを持っていません。誰がなぜこれが分かっていますか?身体データを取得するにはどうすればいいですか?印刷NSURLRequest body/queryは常にnullを出力します

+0

あなたは私たちにいくつかのコードを示してもらえ:ここで私がやったことをどのように参照ですか? :) –

+0

これはむしろ面倒ですが、私は問題を見つけて今すぐ書いていると言ってうれしいです! =) – Minimi

答えて

1

だからいくつかの研究を行った後、私はリンゴのドキュメントはNSURLRequests本体とbodystreamについてはこれを言うことがわかった:

受信機は、一つだけのために設定することができ、HTTPボディまたはHTTPボディストリームのいずれかを持っています要求。 HTTP本体ストリームはNSURLRequestオブジェクトのコピー時に保存されますが、NSCodingプロトコルを使用して要求がアーカイブされると失われます。

したがって、httpbodystreamを確認したところ、実際のボディが格納されていた場所が見つかりました。入力ストリームをコピーしてデータに変換し、それを文字列に変換して印刷しなければならなかった。

How to convert NSInputStream to NSString or how to read NSInputStream

関連する問題