2

URlconnection の問題に取り組んでいます

接続オブジェクトは、URL で openConnection() メソッドを呼び出すことによって作成され、一般的な要求が操作されます。次に、関数 getHeaderfield(string name) からの uniqueid を期待する文字列を初期化しました。その後、 connect() メソッドを使用してリモートオブジェクトへの実際の接続を実行する必要があります

   call for openConnection()
   String uniqueid=null;
   call for connect()
   uniqueid=UrlConnection.getHeaderField(Headername);

ここでは、uniqueid の値を null として取得しています。

トピックについて調査したところ、実際の関数 getHeaderField(string) が null のみを返すことがわかりました (java.net.UrlConection.class の下の Java パッケージの rt.jar にあります)。

しかし、オラクルのドキュメントには http://docs.oracle.com/javase/1.5.0/docs/api/java/net/URLConnection.html#getHeaderField%28java.lang.String%29 という名前のヘッダ。getHeaderField()method の動作を説明できる人はいますか?

4

2 に答える 2

5

java.net の UrlConnection は抽象的であるため、使用している UrlConnection はおそらくサブクラスです (匿名の可能性があります)。

.getClass() を使用して UrlConnection のクラス名を実際に作業しているものに出力してから、そのドキュメントを参照してください。

null を取得している理由については、提供された headerName がヘッダー内の何にも一致しないと思います。.getHeaderFields() を使用してすべてのヘッダーのマップを取得し、keySet() を出力して、ヘッダーがそこにあるかどうかを確認してください。

于 2013-03-25T18:28:29.110 に答える
0

モバイル データまたは WiFi 接続がない場合、getHeaderFields() は null を返すことがあります。

于 2015-07-05T00:09:12.633 に答える