Post リクエストの生成とデータの送信に Apache HttpClient を使用しています。リモート アプリケーションは、データを送信しているユーザーの IP アドレスを中継するため、ユーザーが指定した IP アドレスに対してポスト リクエストを送信したいと考えています。
これを構成するにはどうすればよいですか?
public static void loginUser(String username, String password, String ip) throws Exception{
try {
HttpClient client = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://login.myapp.com/");
// Request parameters and other properties.
List<NameValuePair> params = new ArrayList<NameValuePair>(2);
params.add(new BasicNameValuePair("username",username));
params.add(new BasicNameValuePair("password", password));
httppost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
// Execute and get the response.
HttpResponse response = client.execute(httppost);
HttpEntity entity = response.getEntity();
if (entity != null) {
//etc....
}
} catch (Exception e) {
e.printStackTrace();
}
}
編集:混乱を避けるために、
カスタム IP アドレスを httprequest ヘッダーに含めて、エンド アプリケーションが、この [アプリからの] リクエストがカスタム IP アドレスからのものであり、アプリケーションが実行されている IP アドレスからのものではないことを認識できるようにします。
私のアプリケーションがIPアドレス「1.1.1.0」のサーバーで実行されているとしましょう。現在、ユーザーは「test」、「test」、「199.199.199.0」を使用して loginUser メソッドを実行しています。これで、アプリケーションから宛先 URL への HTTP リクエストは、「199.199.199.0」から送信されたようになります。