0

Androidからのパラメーターを含むHTTP POSTリクエストを使用して、クライアント側(Android)からサーバー側(php)にいくつかのパラメーターを投稿する必要があります。システムのローカル IP であるイントラネット (192.168.12.33) で動作する例を試してみましたが、インターネット (www.dillgates.pcriot.com) では動作しません。これは私の Web サイトです。

これが私のコードです。「www.dillgates.pcriot.com」の代わりに「192.168.2.3」を置き換えた場合、これは機能します

public String httppost(String param1, String param2, String file) throws JSONException
{
    ArrayList<NameValuePair> nameValuePairs = new  ArrayList<NameValuePair>();      
    nameValuePairs.add(new BasicNameValuePair("param1", param1));
    nameValuePairs.add(new BasicNameValuePair("param2", param2));
    try
    {
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://192.168.2.3/5mine/GeoTracker/"+file);//Working
        //HttpPost httppost = new HttpPost("http://www.dillgates.pcriot.com/5mine/GeoTracker/"+file);//Not working
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        HttpResponse response = httpclient.execute(httppost);
        the_string_response = convertResponseToString(response);
    }
    catch(Exception e)
    {
        Toast.makeText(GeoTrackerActivity.this, "ERROR " + e.getMessage(), Toast.LENGTH_LONG).show();
        System.out.println("Error in http connection "+e.toString());
    }
}

Log cat で得たものは何でも、応答は次のとおりです。

Logcat エラー

4

1 に答える 1

0

httprequest を使用して設定を提供することもできます。

→マニフェストの設定

Application タグの前に 2 行の許可を追加します

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

-> ポリシーを更新

ThreadPolicy mThreadPolicy = new ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(mThreadPolicy);

-> HttpURLConnection の使用

String para = "username=123&password=321"
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Language", "en-US");
connection.setRequestProperty("Content-Length", Integer.toString(para.getBytes().length));
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setUseCaches(false);
connection.setDoInput(true);
connection.setDoOutput(true);

OutputStreamWriter osw = new DataOutputStream(connection.getOutputStream());
osw.writeBytes(para);
osw.flush();

BufferedReader mBufferedReader = new BufferedReader(new InputStreamReader(this.mConnection.getInputStream()));
StringBuilder mStringBuilder = new StringBuilder();
String line = "";
while((line = mBufferedReader.readLine()) != null){
    mStringBuilder.append(line);
}
String responseString = mStringBuilder.toString();
于 2013-05-20T06:10:49.943 に答える