0

私はそのようなことをしたい:

private static final String protocol = "http";

// host verification via http basic auth, http://username:passwort@url ...
private static final String host = "http://username:password@myservice.com";
private static final int port = 80;

private static final String path = "/";

@TestTarget
public final Target target = new HttpTarget(protocol, host, port, path);

問題は次のとおりです。TCP/IP モニターを介して接続を分析したいのですが、http 基本認証を使用する機会がないようです。http 基本認証を使用して TCP/IP モニター経由で接続を転送するにはどうすればよいですか?

ヘッダーごとに必要なパラメーターを設定できますか? 多分そのようなもの:

@TargetRequestFilter
public void exampleRequestFilter(HttpRequest request) {
    request.addHeader("Authorization", "OAUTH hdsagasjhgdjashgdah...");
}

または、http 基本認証 + TCP/IP モニターを使用できる他のオプションはありますか?

前もって感謝します!

4

2 に答える 2

1

base64経由でエンコードすると、httpベース認証を使用できることがわかりました。ソリューションは次のようになります。

@TargetRequestFilter
public void exampleRequestFilter(HttpRequest request) {
    // Authorization header Base64 encoded...
    String encoded = Base64.getEncoder()
            .encodeToString((username + ":" + password).getBytes(StandardCharsets.UTF_8));
    request.addHeader("Authorization", "Basic " + encoded);
}
于 2017-07-27T15:23:22.590 に答える