import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; /** * android网络数据请求代码示例 */ public class Main18Activity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main18); } public void requestNet(String mUrl){ /** * get请求代码示例 * get请求将参数放在url后一起传递过去,而且会被看到,一般不太安全, * 但是get方式只获取数据,不会更新数据 */ try { //创建新的URL URL url = new URL(mUrl); //建立连接 HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); //从网络读取数据 InputStreamReader isr = new InputStreamReader(httpURLConnection.getInputStream()); BufferedReader bufferedReader = new BufferedReader(isr); String result=""; while ((bufferedReader.readLine())!=null){ result+=bufferedReader.readLine(); } Log.e("从网络获取到的结果:","---------------+++++++++>"+result); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } /** * post请求代码示例 * post方式参数是放在请求的内容里面上送的,而不是放在url里面,相对安全一点, * 但是post有更新的操作,一般form表单提交的数据都是采用的post方式 */ try { URL url = new URL(mUrl); HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); //不设置DoOutput属性,无法在内容上传递数据 httpURLConnection.setDoOutput(true); //DoInput属性,默认设置 httpURLConnection.setDoInput(true); //不设置这个方法也可以获取到数据,POST一定要大写 httpURLConnection.setRequestMethod("POST"); //如果不设置这个属性,那么上送的参数是对象时,有可能抛出异常 httpURLConnection.setRequestProperty("Content-type","application/x-java-serialized-object"); //post方式不能使用缓存,安全问题? httpURLConnection.setUseCaches(false); httpURLConnection.setInstanceFollowRedirects(true); //连接必须在上面之后,也可以没有,因为调用OutputStream时默认连接一次 httpURLConnection.connect(); //使用DataOutputStream将内容传送到目标网络地址 DataOutputStream dataOutputStream = new DataOutputStream(httpURLConnection.getOutputStream()); String param="NoteType=1"; dataOutputStream.writeBytes(param); dataOutputStream.flush(); dataOutputStream.close(); //获取数据流 InputStreamReader inputStreamReader = new InputStreamReader(httpURLConnection.getInputStream()); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String result=""; while ((bufferedReader.readLine())!=null){ result+=bufferedReader.readLine(); } Log.e("从网络获取到的结果:","---------------+++++++++>"+result); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
android网络数据请求
最新推荐文章于 2024-04-26 17:22:16 发布