1

HTTP ポスト リクエストを使用してデータをバックエンドに送信する blackberry プログラムがあります。現在、コードは私のシミュレーター (OS 5/6/7) や実際のデバイスでも完全に機能しますが、一部の国の他のデバイスでは、http エラー コード 400 (Bad Request) で 3g を使用すると接続が失敗しますが、WiFi 経由ではわかりました..調査した結果、これらの通信事業者の bis-b プロキシがサイズ (>7kb) のために投稿要求を「ブロック」/「拒否」していることに気付きました。問題は、リクエストサイズを短くできないことです。これについてどうすればよいですか? どれでも大歓迎です。ありがとう

編集 これは、BIS 経由で接続するときに使用される接続文字列です。

deviceside=false;connectionUID=GPMDSXXXX;ConnectionType=mds-public (XXXX varies from network to network)

さらに調べてみると、「機能している」接続は BIS_B TransportDescriptor タイプ (5) を使用して接続しているのに対し、「失敗している」接続は TCP_CELLULAR (1) を使用して接続していることがわかりました。つまり、動作中の接続を呼び出すconnectionDescriptor.getTransportDescriptor().getTransportType()と 5 が返され、失敗した接続では 1 が返されます。なぜこれが起こっているのでしょうか?

4

1 に答える 1

1

HTTPS を使用してみてください。この場合、キャリアは内部で何が起こっているのかを正確に嗅ぎ分けることができません。

于 2012-07-04T13:10:45.057 に答える