当前位置: 首页 > news >正文

建设银行网站注册用户百度优化服务

建设银行网站注册用户,百度优化服务,店面设计图纸,必分享 wordpress主题目录 一、使用HttpURLConnection 1、使用Android的HttpURLConnection步骤 1)获取HttpURLConnection实例 2)设置HTTP请求使用的方法 3)定制HTTP请求,如连接超时、读取超时的毫秒数 4)调用getInputStream()方法获取返回的输入流 5)关闭HTTP连接 2、…

目录

一、使用HttpURLConnection

1、使用Android的HttpURLConnection步骤

1)获取HttpURLConnection实例

 2)设置HTTP请求使用的方法

3)定制HTTP请求,如连接超时、读取超时的毫秒数

4)调用getInputStream()方法获取返回的输入流

5)关闭HTTP连接

2、实例

 如何将数据提交给服务器?

二、使用OkHttp

1、使用OkHttpClient的步骤

1)创建OkHttpClient实例

2)创建Request对象

3)设置目标网络的URL地址

4)发送请求获取服务器返回的数据

5)获得返回的具体内容

2、实例


一、使用HttpURLConnection

1、使用AndroidHttpURLConnection步骤

1)获取HttpURLConnection实例

URL url = new URL("http://www.baidu.com");
HttpURLConnection connection = (HtppURLConnection) url.openConnection();

 2)设置HTTP请求使用的方法

        GET表示希望从服务器那里获取数据,而POST表示希望提交数据给服务器。

connection.setRequestMethod("GET");

3)定制HTTP请求,如连接超时、读取超时的毫秒数

connection.setConnectTimeout(8000);
connection.setReadTimeout(8000);

4)调用getInputStream()方法获取返回的输入流

InputStream in = connection.getInputStream();

5)关闭HTTP连接

connection.disconnect();

2、实例

新建NetWorkTest项目,

修改activity_main.xml代码,如下:

        ScrollView可以以滚动的形式查看屏幕外的那部分内容,Button用于发送HTTP请求,TextView用于将服务器返回的数据显示出来。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent" ><Buttonandroid:id="@+id/send_request"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Send Request" /><ScrollViewandroid:layout_width="match_parent"android:layout_height="match_parent" ><TextViewandroid:id="@+id/response_text"android:layout_width="match_parent"android:layout_height="wrap_content" /></ScrollView></LinearLayout>

修改MainActivity的代码,如下:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {TextView responseText;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button sendRequest = (Button) findViewById(R.id.send_request);responseText = (TextView) findViewById(R.id.response_text);sendRequest.setOnClickListener(this);}@Overridepublic void onClick(View v) {if (v.getId() == R.id.send_request) {sendRequestWithHttpURLConnection();}}private void  sendRequestWithHttpURLConnection() {new Thread(new Runnable() {@Overridepublic void run() {HttpURLConnection connection = null;BufferedReader reader = null;try {URL url = new URL("https://www.baidu.com");connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("GET");connection.setConnectTimeout(8000);connection.setReadTimeout(8000);InputStream in = connection.getInputStream();
//                    下面对获取到的输入流进行读取reader = new BufferedReader(new InputStreamReader(in));StringBuilder response = new StringBuilder();String line;while((line = reader.readLine()) != null){response.append(line);}showResponse(response.toString());} catch (Exception e) {e.printStackTrace();}finally {if(reader != null){try {reader.close();}catch (IOException e){e.printStackTrace();}}if(connection != null){connection.disconnect();}}}}).start();}private void showResponse(final String response) {runOnUiThread(new Runnable() {@Overridepublic void run() {// 在这里进行UI操作,将结果显示到界面上responseText.setText(response);}});}}

最后声明网络权限,修改AndroidManifest.xml代码,如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><uses-permission android:name="android.permission.INTERNET" />................

效果如下:

这是百度浏览器的HTML代码。

 如何将数据提交给服务器?

如我们想向服务器提交用户名和密码,代码如下:

connection.setRequestMethod("POST");
DataOutputStream out = new DataOutputStream(connection.getOutputStream);
out.writeBytes("username=admin&password=123456");

二、使用OkHttp

        以上方法是原生方法,接下来使用的OkHttp是比较出色的网络通信库。

        OkHttp是一个专注于性能和易用性的 HTTP 客户端。

        –OkHttp 库的设计和实现的首要目标是高效。这也是选择 OkHttp 的重要理由之一。OkHttp 提供了对最新的 HTTP 协议版本 HTTP/2 和 SPDY 的支持,这使得对同一个主机发出的所有请求都可以共享相同的套接字连接。如果 HTTP/2 和 SPDY 不可用,OkHttp 会使用连接池来复用连接以提高效率。OkHttp 提供了对 GZIP 的默认支持来降低传输内容的大小。OkHttp 也提供了对 HTTP 响应的缓存机制,可以避免不必要的网络请求。当网络出现问题时,OkHttp 会自动重试一个主机的多个 IP 地址。

        在使用之前,需要现在项目中添加OkHttp库的依赖,修改app/build.gradle文件,在dependencies闭包中添加以下内容。

dependencies {...........implementation 'com.squareup.okhttp3:okhttp:3.4.1'

1、使用OkHttpClient的步骤

1)创建OkHttpClient实例

OkHttpClient client = new OkHttpClient();

2)创建Request对象

Request request = new Request.Builder().build();

3)设置目标网络的URL地址

Request request = new Request.Builder().url("http://www.baidu.com").build();

4)发送请求获取服务器返回的数据

Response response = client.newCall(request).execute();

5)获得返回的具体内容

String responseData = response.body().string();

如果发起一条POST请求,需要先构建一个RequestBody对象来存放待提交的参数,如下:

RequestBody requestBody = new FormBody.Builder().add("username","admin").add("password","123456").build();

然后再Request.Builder中调用post()方法,将RequestBody对象传入:

Request request = new Request.Builder().url("http://www.baidu.com").post(requestBody).build();

下面的操作和GET请求一样,调用execute()方法来发送请求并获取服务器返回的数据。

2、实例

在上面的项目中修改。

布局部分不动,修改MainActivity代码,如下:

        在上面的基础上只是添加了一个sendRequestWithOkHttp()方法,并在Send Request按钮的点击事件里去调用这个方法。

public class MainActivity extends AppCompatActivity implements View.OnClickListener {TextView responseText;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button sendRequest = (Button) findViewById(R.id.send_request);responseText = (TextView) findViewById(R.id.response_text);sendRequest.setOnClickListener(this);}@Overridepublic void onClick(View v) {if (v.getId() == R.id.send_request) {
//             sendRequestWithHttpURLConnection();sendRequestWithOkHttp();}}private void sendRequestWithOkHttp() {new Thread(new Runnable() {@Overridepublic void run() {try {OkHttpClient client = new OkHttpClient();Request request = new Request.Builder().url("https://www.bjtu.edu.cn").build();Response response = client.newCall(request).execute();String responseData = response.body().string();showResponse(responseData);} catch (Exception e) {e.printStackTrace();}}}).start();}private void sendRequestWithHttpURLConnection() {// 开启线程来发起网络请求new Thread(new Runnable() {@Overridepublic void run() {HttpURLConnection connection = null;BufferedReader reader = null;try {URL url = new URL("https://www.bjtu.edu.cn");connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("GET");connection.setConnectTimeout(8000);connection.setReadTimeout(8000);InputStream in = connection.getInputStream();// 下面对获取到的输入流进行读取reader = new BufferedReader(new InputStreamReader(in));StringBuilder response = new StringBuilder();String line;while ((line = reader.readLine()) != null) {response.append(line);}showResponse(response.toString());} catch (Exception e) {e.printStackTrace();} finally {if (reader != null) {try {reader.close();} catch (IOException e) {e.printStackTrace();}}if (connection != null) {connection.disconnect();}}}}).start();}private void showResponse(final String response) {runOnUiThread(new Runnable() {@Overridepublic void run() {// 在这里进行UI操作,将结果显示到界面上responseText.setText(response);}});}}

http://www.dt0577.cn/news/29654.html

相关文章:

  • 深圳网站建设哪个平台好专业的google推广公司
  • java做网站如何seo站
  • 苹果电脑可以做网站吗百度网页版进入
  • 婚纱网站设计网址制作
  • 建外贸企业网站武汉seo全网营销
  • 做网站在厦门排前5名厦门人才网唯一官网招聘
  • 寺院网站建设seo短视频网页入口引流下载
  • 长春火车站电话咨询电话苏州网站制作公司
  • 好看的网站博客模板下载佛山网页搜索排名提升
  • 国外网站注册软件市场调研报告总结
  • wordpress 分类不显示全文推广网站seo
  • 产品网站怎么做的太原seo招聘
  • 顺德手机网站设计咨询做网站要多少钱
  • 做网站要实名认证吗免费搭建网站的软件
  • 做收藏品的网站推广营销app
  • 网站设计汕头热门网站
  • wordpress 主题不存在前端seo搜索引擎优化
  • 长春网站设计公司肇庆网络推广
  • 深圳网页设计推广渠道石家庄seo推广公司
  • 网站制作加谷歌推广免费网站seo诊断
  • 怎么做网站安全运维巩义关键词优化推广
  • 建立自己的网站有什么用seo排名软件有用吗
  • wordpress不用ftp下载文件山西网络营销seo
  • 网站店铺建设台州seo优化
  • 网站的发展趋势网站排名英文
  • 佛山网站建设定制开发电话号码宣传广告
  • 宁夏网站建设怎么样seo怎么做推广
  • 外贸网站增加权重百度广告投放平台叫什么
  • 网站建设学费武汉seo公司
  • html网页设计代码作业化妆品win10优化大师好用吗