私は現在、.net と Java の間のフェンスにまたがっているプログラマーですが、Java の経験が限られているため、.net に傾倒しています。自分で開発したのではなく、httpClient execute(get) (get は HttpsFactory) を実行して、クエリ文字列を持つ特定の URL で見つかった別のコード サーバーに存在する asp クラシック コードから応答を取得する Java アプリケーションを持っています。ユーザー認証情報を保存します。理由を聞かないでください。
私たちの QA チームがテストしているユーザーの 1 人は、良い応答を返していません。ASP側で検証された不正なパスワードを入力すると、接続していることがわかります。適切なエラー メッセージが生成され、元に戻りました。Fiddler はこれを検出していません。私はフィドラーサイトを見て、私のjvmがフィドラープロキシサーバーを通過するように設定しようとしました。しかし、私はこれを機能させることができません。私は最新の Java バージョン 1.7.0.21 を実行しています。
コマンドプロンプトで次を実行しました
jre -DproxySet=true -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8888 および jre -DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=8888 MyApp
jreは認識されません。私も試しました:
java -DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=8888 MyApp および java -DproxySet=true -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8888
プロパティが認識されない
私も試しました
java -Dhttp.proxySet=true -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8888
Javaコマンドの使用法を取得するだけです。
また、http 接続の直前に以下をコードに埋め込もうとしましたが、まだ検出されません。
System.setProperty("http.proxyHost", "127.0.0.1");
System.setProperty("https.proxyHost", "127.0.0.1");
System.setProperty("http.proxyPort", "8888");
System.setProperty("https.proxyPort", "8888");
ここで私が実行しているJavaコード。
public String getHttpConnect(User user) {
HttpClient client=https.getHttpClient();
InputStream instream=null;
HttpEntity entity=null;
HttpGet get = https.getHttp(user);
try {
response = client.execute(get);
entity = response.getEntity();
if (entity != null) {
instream = entity.getContent();
Document document= read.read(instream);
Element root = document.getRootElement();
String content = root.elementText("permission");
if (content.equals("OK")) {
message = Global.CONNECT_SUCCESS;
} else {
message = ErrorMsg.CONNECT_FAIL;
}
}
}catch (Exception e) {
message = ErrorMsg.CONNECT_EXCEPTION;
get.abort();
log.error("HttpConnect error: "+e.toString());
}finally{
try {
if(instream!=null)instream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("Inputstream exception "+e.toString());
log.error("Inputstream close exception: "+e.toString());
e.printStackTrace();
message = ErrorMsg.CONNECT_EXCEPTION;
}
client.getConnectionManager().shutdown();
}
return message;
}
public HttpClient getHttpClient() {
HttpClient client = new DefaultHttpClient();
client = WebClientDevWrapper.wrapClient(client);
client.getParams().setParameter(
CoreConnectionPNames.CONNECTION_TIMEOUT,
Global.CONNECTION_TIMEOUT);// connect timeout
client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,
Global.RESPONSE_TIMEOUT);// send data read timeout
return client;
}
public HttpGet getHttp(User user) {
String psw = user.getAccountpsw();
StringBuffer connectUrl = new StringBuffer();
if (Global.CURRENT_RUN_TYPE.equals(Global.BETA)) {
connectUrl.append(Global.DEFAULT_LOGIN_URL_BETA);
} else {
connectUrl.append(Global.DEFAULT_LOGIN_URL_LIVE);
}
connectUrl.append("?usr=");
connectUrl.append(user.getAccountname());
connectUrl.append("&pwd=");
connectUrl.append(psw);
connectUrl.append("&vers=2.5.20&");
connectUrl.append(random());
// connectUrl.append("&SkipCheckForFiles=TRUE");
StringBuffer logConnect = new StringBuffer();
logConnect.append("Logging into server using URL:");
logConnect.append(Global.LOG_NEWLINE);
logConnect.append(Global.DES.getLogEncString(connectUrl.toString()));
logConnect.append(Global.LOG_NEWLINE);
log.info(logConnect);
HttpGet get = new HttpGet(connectUrl.toString());
return get;
}
結果にかかわらず、ご協力いただきありがとうございました。