A. android okhttp3怎么判断服务器请求地址错误
找到SQL Sever服务。在计算机管理框里找到Sql sever配置管理器找到Sql Sever服务打开服务,这里有几种服务,这些服务都是自己安装数据库时装上的。
打开启动SQL Sever服务。右键点击服务,这里要看清楚什么才是服务,小技巧:服务器的图标是一个库的样式,启动它就可以了。
SQL文件目录启动服务(二)
找到SQL安装目录。点击【开始】--【所有文件】--【Microsoft SQL Server 2008】--【配置工具】--【SQL Server 配置管理器】。
B. 如何设置android HttpPost 连接服务器超时
// 根据内容来源地址创建一个Http请求
HttpPost request = new HttpPost(SERVER_URL);
//设置请求超时
int timeoutConnection = 3 * 1000;
HttpConnectionParams.setConnectionTimeout(httpParameters,timeoutConnection);
//设置响应超时
int timeoutSocket = 5 * 1000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
// 发送请求并获取反馈
DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
HttpResponse httpResponse = httpClient.execute(request);
C. Android httpdns请求方法
HttpDNS是使用HTTP协议向DNS服务器的80端口进行请求,代替传统的DNS协议向DNS服务器的53端口进行请求。也就是使用Http协议去进行dns解析请求,将服务器返回的解析结果,也就是域名对应的服务器ip获得,直接向该ip发起对应的api服务请求,代替使用域名。那么为什么要使用HttpDNS呢?主要原因有三点LocalDNS劫持平均访问延迟下降用户连接失败率下降LocalDNS劫持: 由于HttpDNS是通过ip直接请求http获取服务器A记录地址,不存在向本地运营商询问domain解析过程,所以从根本避免了劫持问题。 (对于http内容tcp/ip层劫持,可以使用验证因子或者数据加密等方式来保证传输数据的可信度)平均访问延迟下降: 由于是ip直接访问省掉了一次domain解析过程,(即使系统有缓存速度也会稍快一些‘毫秒级’)通过智能算法排序后找到最快节点进行访问。用户连接失败率下降: 通过算法降低以往失败率过高的服务器排序,通过时间近期访问过的数据提高服务器排序,通过历史访问成功记录提高服务器排序。如果ip(a)访问错误,在下一次返回ip(b)或者ip(c) 排序后的记录。(LocalDNS很可能在一个ttl时间内(或多个ttl)都是返回记录
D. 如何设置android HttpPost 连接服务器超时
1.// 根据内容来源地址创建一个Http请求
2.HttpPost request = new HttpPost(SERVER_URL);
3.//设置请求超时
4.int timeoutConnection = 3 * 1000;
5.HttpConnectionParams.setConnectionTimeout(httpParameters,timeoutConnection);
6.//设置响应超时
7.int timeoutSocket = 5 * 1000;
8.HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
9.// 发送请求并获取反馈
10.DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
11.HttpResponse httpResponse = httpClient.execute(request);
E. 如何在安卓上搭建http服务器
转载 本文介绍如何在安卓手机上搭建http服务器,有时候我们会有这要的需求,那就是想在自己的安卓手机上搭建一个简单的http服务里,有人是想用来玩一玩,有人是想做点研究,还有人有其他的目的,那么我们该怎么在安卓上搭建一个http服务器呢,下面安卓后院 为大家收集整理的一个方法,希望能够帮到大家。
一、准备篇
1.将lmp.tar.bz2移动到SD卡根目录(/mnt/sdcard/)
2.安装安卓终端模拟器(TerminalEmulator.apk)
(注:lmp.tar.bz2文件可以在本站的安卓工具箱页面下下载)
二、安装篇
1.打开安卓终端模拟器
2.执行以下命令(root)
$ su
# cd /
# mount -o remount,rw /system
# tar xf /mnt/sdcard/lmp.tar.bz2
# mount -o remount,ro /system
# exit
$ exit
三、启动篇
1.打开安卓终端模拟器
2.执行以下命令(root)
$ su
# almp-start.sh
# exit
$ exit
三、关闭篇
1.打开安卓终端模拟器
2.执行以下命令(root)
$ su
# almp-stop.sh
# exit
$ exit
四、测试篇
1.打开网络浏览器(OperaMobile)
2.输入以下地址欣赏下您的almp环境吧
http://127.0.0.1/
http://127.0.0.1/fileadmin/
或者
http://localhost/
http://localhost/fileadmin/
*.部分浏览器不支持localhost的解析
五、mysql篇
1.mysql用户名为root
2.mysql默认密码为空
3.mysql用以下地址访问
127.0.0.1:3306
localhost:3306
4.推荐phpmyadmin管理您的mysql数据库
5.由于phpmyadmin更新频繁,请自己下载安装
6.phpmyadmin默认不支持空密码登陆,请自己修改phpmyadmin的配置文件
7.登陆phpmyadmin轻击修改密码为您的mysql超级用户root设置一个密码吧
六、注意篇
*.php-cgi由本人编译
1.手机需要有root权限
2.部分rom需要安装busybox
3.部分rom需要在命令前面加上busybox
4.本环境包中的部分资源来源于网络开源项目
5.用Re挂载/system分区为读写可跳过mount命令
6.执行终端命令时请忽略命令前的命令提示符$(#)
7.本环境包理论上应该工作在Arm5++的安卓手机上
F. android 网络请求数据一般写在哪
一、需要用到的场景 在jQuery中使用$.post()就可以方便的发起一个post请求,在android程序中有时也要从服务器获取一些数据,就也必须得使用post请求了。 二、需要用到的主要类 在android中使用post请求主要要用到的类是HttpPost、HttpResponse、EntityUtils 三、主要思路 1、创建HttpPost实例,设置需要请求服务器的url。 2、为创建的HttpPost实例设置参数,参数设置时使用键值对的方式用到NameValuePair类。 3、发起post请求获取返回实例HttpResponse 4、使用EntityUtils对返回值的实体进行处理(可以取得返回的字符串,也可以取得返回的byte数组) 代码也比较简单,注释也加上了,就直接贴出来了 [java] package com.justsy.url; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.protocol.HTTP; import org.apache.http.util.EntityUtils; import android.app.Activity; import android.os.Bundle; public class HttpURLActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); System.out.println("start url..."); String url = "192.168.2.112:8080/JustsyApp/Applet"; // 第一步,创建HttpPost对象 HttpPost httpPost = new HttpPost(url); // 设置HTTP POST请求参数必须用NameValuePair对象 List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("action", "downloadAndroidApp")); params.add(new BasicNameValuePair("packageId", "89dcb664-50a7-4bf2-aeed-49c08af6a58a")); params.add(new BasicNameValuePair("uuid", "test_ok1")); HttpResponse httpResponse = null; try { // 设置httpPost请求参数 httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); httpResponse = new DefaultHttpClient().execute(httpPost); //System.out.println(httpResponse.getStatusLine().getStatusCode()); if (httpResponse.getStatusLine().getStatusCode() == 200) { // 第三步,使用getEntity方法活得返回结果 String result = EntityUtils.toString(httpResponse.getEntity()); System.out.println("result:" + result); T.displayToast(HttpURLActivity.this, "result:" + result); } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } System.out.println("end url..."); setContentView(R.layout.main); } } ADD:使用HttpURLConnection 进行post请求 [java] String path = "192.168.2.115:8080/android-web-server/httpConnectServlet.do?PackageID=89dcb664-50a7-4bf2-aeed-49c08af6a58a"; URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setConnectTimeout(5000); System.out.println(conn.getResponseCode()); ============================================================================================================================ 通过get和post方式向服务器发送请求 首先说一下get和post的区别 get请求方式是将提交的参数拼接在url地址后面,例如/index.jsp?num=23&jjj=888; 但是这种形式对于那种比较隐私的参数是不适合的,而且参数的大小也是有限制的,一般是1K左右吧,对于上传文件 就不是很适合。 post请求方式是将参数放在消息体内将其发送到服务器,所以对大小没有限制,对于隐私的内容也比较合适。 如下Post请求 POST /LoginCheck HTTP/1.1 Accept: text/html, application/xhtml+xml, */* Referer: 192.168.2.1/login.asp Accept-Language: zh-CN User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; BOIE9;ZHCN) Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip, deflate Host: 192.168.2.1 Content-Length: 39 Connection: Keep-Alive Cache-Control: no-cache Cookie: language=en Username=admin&checkEn=0&Password=admin //参数位置 在android中用get方式向服务器提交请求: 在android模拟器中访问本机中的tomcat服务器时,注意:不能写localhost,因为模拟器是一个单独的手机系统,所以要写真是的IP地址。 否则无法访问到服务器。 //要访问的服务器地址,下面的代码是要向服务器提交用户名和密码,提交时中文先要经过URLEncoder编码,因为模拟器默认的编码格式是utf-8 //而tomcat内部默认的编码格式是ISO8859-1,所以先将参数进行编码,再向服务器提交。 private String address = "192.168.2.101:80/server/loginServlet"; public boolean get(String username, String password) throws Exception { username = URLEncoder.encode(username);// 中文数据需要经过URL编码 password = URLEncoder.encode(password); String params = "username=" + username + "&password=" + password; //将参数拼接在URl地址后面 URL url = new URL(address + "?" + params); //通过url地址打开连接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //设置超时时间 conn.setConnectTimeout(3000); //设置请求方式 conn.setRequestMethod("GET"); //如果返回的状态码是200,则一切Ok,连接成功。 return conn.getResponseCode() == 200; } 在android中通过post方式提交数据。 public boolean post(String username, String password) throws Exception { username = URLEncoder.encode(username);// 中文数据需要经过URL编码 password = URLEncoder.encode(password); String params = "username=" + username + "&password=" + password; byte[] data = params.getBytes(); URL url = new URL(address); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setConnectTimeout(3000); //这是请求方式为POST conn.setRequestMethod("POST"); //设置post请求必要的请求头 conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");// 请求头, 必须设置 conn.setRequestProperty("Content-Length", data.length + "");// 注意是字节长度, 不是字符长度 conn.setDoOutput(true);// 准备写出 conn.getOutputStream().write(data);// 写出数据 return conn.getResponseCode() == 200;
G. Android HttpURLconnection在调用哪个方法时向服务器发送的请求
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
在得到一个连接对象时,应该就已经向服务器发送请求了
可参考:http://www.cnblogs.com/devinzhang/archive/2012/01/08/2316453.html
H. 我用android写http请求 HttpGet request = new HttpGet(url); 但是这个URL中有中文。如果传过去那么服务器
有两个方法,尝试下
URLEncoder.encode("");
URLDecoder.decode("");
先ENCODE完后,接收了再DECODE,中文筹码的问题应该就可以解决了~