关于HTTP post请求 没得参数 ,就是一个post的url 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没得参数 ,就是一个post的url?appKey=12345678&appSecret=C5C5AF0C419445C16D214638358AB0C9FA7F36B1DEAEDF8B&returnUrl=AnayAuthenticate&timeStamp=2014-06-11 10:21&expiresTime=2014-06-11 10:21&seed=&machineId=852654235这些都是参数 A=B 用&拼接。全是带过去给前面那个地址的参数 也就是我上面给的一串字符串就是一个post的url地址 这怎么可能,这不明显带了一堆参数么?如果不用url传参,应该url仅仅是http://192.168.10.206:808/api/Token/EncryptRequestToken才对啊 我也是头一此遇到这个 搞了2天了,获得不了数据 ios说不是参数,就是一个post的url地址 http://192.168.10.206:808/api/Token/EncryptRequestToken?appKey=12345678&appSecret=C5C5AF0C419445C16D214638358AB0C9FA7F36B1DEAEDF8B&returnUrl=AnayAuthenticate&timeStamp=2014-06-11 10:21&expiresTime=2014-06-11 10:21&seed=&machineId=852654235用这个url直接post访问,能获取到数据么 通过webView的posturl可以获得数据,但是我确实用http请求获取不到啊 ,当作参数就是404 不当参数就是400 这个是做参数的报错06-17 10:08:38.630: E/Trace(31966): error opening trace file: No such file or directory (2)06-17 10:08:38.990: E/Volley(31966): [1274] BasicNetwork.performRequest: Unexpected response code 404 for http://192.168.10.206:808/api/Token/EncryptRequestToken06-17 10:08:38.991: E/tag(31966): null06-17 10:08:38.991: E/tag(31966): com.android.volley.ServerError06-17 10:08:38.991: E/tag(31966): at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:145)06-17 10:08:38.991: E/tag(31966): at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:105)下面是做url的报错:06-17 10:10:05.091: E/Trace(32079): error opening trace file: No such file or directory (2)06-17 10:10:05.235: E/Volley(32079): [1273] BasicNetwork.performRequest: Unexpected response code 400 for http://192.168.10.206:808/api/Token/EncryptRequestToken?appKey=12345678&appSecret=C5C5AF0C419445C16D214638358AB0C9FA7F36B1DEAEDF8B&returnUrl=AnayAuthenticate&timeStamp=2014-06-11 10:21&expiresTime=2014-06-11 10:21&seed=&machineId=85265423506-17 10:10:05.388: E/tag(32079): null06-17 10:10:05.388: E/tag(32079): com.android.volley.ServerError06-17 10:10:05.388: E/tag(32079): at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:145)06-17 10:10:05.388: E/tag(32079): at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:105) http://192.168.10.206:808/api/Token/EncryptRequestToken?appKey=12345678&appSecret=C5C5AF0C419445C16D214638358AB0C9FA7F36B1DEAEDF8B&returnUrl=AnayAuthenticate&timeStamp=2014-06-11 10:21&expiresTime=2014-06-11 10:21&seed=&machineId=852654235这部是 Get请求吗 后面带着这么多字段的 url 使用 org.apache.http 包下的 HttpClient , 这个包直接集成在了 Android SDK中, 直接调用即可;首先说 POST 传递数据 : 创建一个 HttpPost 对象, 使用要连接的uri 创建, 参数放在一个 NameValuePair 数组中, 这个很重要, 这个NameValuePair 可以直接存放要传递的键值对;HttpPost post = new HttpPost("http://www.baidu.com");List<NameValuePair> params = new ArrayList<NameValuePair>();params.add(new BasicNameValuePair("name", "tom"));post.setEntity(new UrlEncodeFromEntity(params, HTTP.UTF-8));HttpResponse response = new DefaultHttpClient().execute(post);大概就是这样的思路, 核心就是 使用 NameValuePair 存放属性值;GET参数传递 : 直接在链接中传递即可 , 链接后面跟上 "?key=value" 即可 例如 www.baidu.com?name=tom ; post请求这样写 String path = "http://10.10.10.20:85/WebSrv/UserLogin"; List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("UserCode", userCode)); params.add(new BasicNameValuePair("UserPwd", userPwd)); params.add(new BasicNameValuePair("PadMac", padmac)); String info = NetUtils.doPost(params, path); JSONObject jo = new JSONObject(info);· ···························public static String doPost(List<NameValuePair> params, String url) throws Exception { String result = null; // 获取HttpClient对象 HttpClient httpClient = new DefaultHttpClient(); // 新建HttpPost对象 HttpPost httpPost = new HttpPost(url); if (params != null) { // 设置字符集 HttpEntity entity = new UrlEncodedFormEntity(params, HTTP.UTF_8); // 设置参数实体 httpPost.setEntity(entity); } /* * // 连接超时 httpClient.getParams().setParameter( * CoreConnectionPNames.CONNECTION_TIMEOUT, 3000); // 请求超时 * httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, * 3000); */ // 获取HttpResponse实例 HttpResponse httpResp = httpClient.execute(httpPost); // 获取返回的数据 result = EntityUtils.toString(httpResp.getEntity(), "UTF-8"); return result; } 是post的请求 ,但是后面那个不是post的参数哈 android handler 以前用win7 换了windows8 同一份代码编译出的apk签名不同 不能覆盖安装, 怎么办 list分页问题 想用Gallery实现WorkSpace的效果,发现实现不了 spinner问题 大家都来看看啊 开发的android上的软件,兼容性测试要覆盖哪些方面 新人求帮助,我想做一个android信息安全类的软件 android怎样实现边下载边播放视频 如何用paint实现两个控件的覆盖,遮挡先画的控件的一部分 打包apk报错 android 截取手机手指在屏幕上的操作 系统启动后总是不断重启
用这个url直接post访问,能获取到数据么
06-17 10:08:38.630: E/Trace(31966): error opening trace file: No such file or directory (2)
06-17 10:08:38.990: E/Volley(31966): [1274] BasicNetwork.performRequest: Unexpected response code 404 for http://192.168.10.206:808/api/Token/EncryptRequestToken
06-17 10:08:38.991: E/tag(31966): null
06-17 10:08:38.991: E/tag(31966): com.android.volley.ServerError
06-17 10:08:38.991: E/tag(31966): at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:145)
06-17 10:08:38.991: E/tag(31966): at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:105)
下面是做url的报错:
06-17 10:10:05.091: E/Trace(32079): error opening trace file: No such file or directory (2)
06-17 10:10:05.235: E/Volley(32079): [1273] BasicNetwork.performRequest: Unexpected response code 400 for http://192.168.10.206:808/api/Token/EncryptRequestToken?appKey=12345678&appSecret=C5C5AF0C419445C16D214638358AB0C9FA7F36B1DEAEDF8B&returnUrl=AnayAuthenticate&timeStamp=2014-06-11 10:21&expiresTime=2014-06-11 10:21&seed=&machineId=852654235
06-17 10:10:05.388: E/tag(32079): null
06-17 10:10:05.388: E/tag(32079): com.android.volley.ServerError
06-17 10:10:05.388: E/tag(32079): at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:145)
06-17 10:10:05.388: E/tag(32079): at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:105)
创建一个 HttpPost 对象, 使用要连接的uri 创建, 参数放在一个 NameValuePair 数组中, 这个很重要, 这个NameValuePair 可以直接存放要传递的键值对;HttpPost post = new HttpPost("http://www.baidu.com");
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("name", "tom"));
post.setEntity(new UrlEncodeFromEntity(params, HTTP.UTF-8));
HttpResponse response = new DefaultHttpClient().execute(post);大概就是这样的思路, 核心就是 使用 NameValuePair 存放属性值;
GET参数传递 :
直接在链接中传递即可 , 链接后面跟上 "?key=value" 即可 例如 www.baidu.com?name=tom ;
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("UserCode", userCode));
params.add(new BasicNameValuePair("UserPwd", userPwd));
params.add(new BasicNameValuePair("PadMac", padmac));
String info = NetUtils.doPost(params, path); JSONObject jo = new JSONObject(info);
· ···························public static String doPost(List<NameValuePair> params, String url)
throws Exception {
String result = null;
// 获取HttpClient对象
HttpClient httpClient = new DefaultHttpClient();
// 新建HttpPost对象
HttpPost httpPost = new HttpPost(url);
if (params != null) {
// 设置字符集
HttpEntity entity = new UrlEncodedFormEntity(params, HTTP.UTF_8);
// 设置参数实体
httpPost.setEntity(entity);
} /*
* // 连接超时 httpClient.getParams().setParameter(
* CoreConnectionPNames.CONNECTION_TIMEOUT, 3000); // 请求超时
* httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,
* 3000);
*/
// 获取HttpResponse实例
HttpResponse httpResp = httpClient.execute(httpPost);
// 获取返回的数据
result = EntityUtils.toString(httpResp.getEntity(), "UTF-8"); return result;
}