2016-10-19 8 views
0

私はこの情報を検索していましたが、私がウェブ開発を初めて利用して以来、私が得意とする回答は私をさらに混乱させています。 基本的には、要求を処理するJavaモデム(1.3IDEを使用)でWebサーバーを確立しています。これらの要求は、私が単純にしておいた限り、処理されていました。URLエンコードの問題 - 特殊文字がウェブサーバーのクラッシュを引き起こしました

http://87.103.87.59/teste.html?a=10&b=10 

このリクエストは通常​​処理されます。 しかし、実際の取引を適用すると、私のウェブサーバがクラッシュしています。

http://5.43.52.4/api.html?ATCOMMAND=AT%5EMTXTUNNEL=SMS,0035111111111,string sending test 

問題は2つの側面によるものです。 "%"文字と文字列送信テスト。明確なすべてのものを入れて 、私が使用しているハンドラでは、これらは以下のとおりです。私は私のJavaのデバイスを動作させるためにそれらを使用することができるように

public InputStream is = null; 
private OutputStream os = null; 
private byte buffer[] = new byte[]; 
String streamAux=""; 


is = socketX.openInputStream(); 
os = socketX.openOutputStream(); 
if ((is.available()>0)||(blockX==true)) 
{ 

//Read data sent from remote client 
numDadosLidos=is.read(buffer); 
for (int i=0;i<numDadosLidos;i++) 
streamAux= streamAux + (char)buffer[i]; //where the url will be stored 

基本的に私は、これらのパラメータが必要になります、私はいくつかの並べ替えを行う必要があると思いますエンコードしていますが、私が理解できない多くの情報があり、私の1.3 IDEは私を抱きしめています。

私はあらかじめ何らかの初心者行動についてお詫びします。 「 - 」文字を

は、あなたが私に手を貸すことができる

おかげで興味を持っている人のために

+0

これは、Jettyの実装で見つかった問題を思い出させます。https://github.com/eclipse/jetty.project/issues/570、どのサーバーを使用しますか? – Erik

+1

JavaモデムSIMカードを使用してGPRS接続を設定するために必要なパラメータを渡すソケットで確立された単純なサーバー。 – kohhworlwide

答えて

0

を願って、私は基本的に使用して送信されるメッセージを義務付ける問題を中心に行ってきました。それは問題を解決しません、それは単に "理想的ではない"方法で問題を解決します。

もし誰かがこれを理解していれば、まったく興味があります。おかげさまで

+0

両方の場合(パーセントとスペース)? URIのスペースは許可されず、 '+'または '%20'に変換する必要があります - https://www.ietf.org/rfc/rfc2396 2.4.3章を参照してください。 – AmigoJack

関連する問題