4

次のコードがあります

    URL targetUrl = ...
    HttpClient client = new HttpClient(connectionManager);
    GetMethod getMethod = new GetMethod();
    getMethod.setPath(targetUrl.getPath());

    HostConfiguration hostConfiguration = getConfiguration(targetUrl) //unknown lib code

    client.executeMethod(hostConfiguration, getMethod);

場合によっては(一部のホストで)取得します

java.lang.IllegalArgumentException: host parameter is null"

client.executeMethod 呼び出し時。

なぜこれが起こるのでしょうか?

4

3 に答える 3

8

エラーメッセージは誤解を招くものです...

ホストの前にプロトコルを追加する必要がありHTTP://ます。使用したいものなどです。このブログ記事によると、これが発生する状況は他にもあるかもしれませsetHostConfigurationんが、廃止されたため、これはレガシー コードにのみ適用されます。

クライアント コードはシステムの奥深くで失敗するのではなく、早期にそれをキャッチする必要があります。

于 2014-12-16T10:02:53.760 に答える