关于HTTP post请求

西瓜米 2014-06-16 05:36:11
这个是url地址 只能post访问:
http://192.168.10.206:808/api/Token/EncryptRequestToken?appKey=12345678&appSecret=C5C5AF0C419445C16D214638358AB0C9FA7F36B1DEAEDF8B&returnUrl=AnayAuthenticate×tamp=2014-06-11 10:21&expiresTime=2014-06-11 10:21&seed=&machineId=852654235

全部都是url地址哈 后面的不是什么参数哈。参数是没有的,做了一天了实在是弄不出来,求解啊
...全文
5898 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
西瓜米 2014-06-17
  • 打赏
  • 举报
回复
引用 13 楼 han1202012 的回复:
http://192.168.10.206:808/api/Token/EncryptRequestToken?appKey=12345678&appSecret=C5C5AF0C419445C16D214638358AB0C9FA7F36B1DEAEDF8B&returnUrl=AnayAuthenticate×tamp=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的请求 ,但是后面那个不是post的参数哈
箍心而行 2014-06-17
  • 打赏
  • 举报
回复
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; }
韩曙亮 2014-06-17
  • 打赏
  • 举报
回复
http://192.168.10.206:808/api/Token/EncryptRequestToken?appKey=12345678&appSecret=C5C5AF0C419445C16D214638358AB0C9FA7F36B1DEAEDF8B&returnUrl=AnayAuthenticate×tamp=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 ;
西瓜米 2014-06-17
  • 打赏
  • 举报
回复
引用 10 楼 a85454597 的回复:
报什么错 贴出来啊
我发出来了
西瓜米 2014-06-17
  • 打赏
  • 举报
回复
这个是做参数的报错 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×tamp=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)
箍心而行 2014-06-17
  • 打赏
  • 举报
回复
报什么错 贴出来啊
西瓜米 2014-06-17
  • 打赏
  • 举报
回复
引用 8 楼 jack_wolf_ 的回复:
http://192.168.10.206:808/api/Token/EncryptRequestToken?appKey=12345678&appSecret=C5C5AF0C419445C16D214638358AB0C9FA7F36B1DEAEDF8B&returnUrl=AnayAuthenticate×tamp=2014-06-11 10:21&expiresTime=2014-06-11 10:21&seed=&machineId=852654235 用这个url直接post访问,能获取到数据么
通过webView的posturl可以获得数据,但是我确实用http请求获取不到啊 ,当作参数就是404 不当参数就是400
映映 2014-06-17
  • 打赏
  • 举报
回复
http://192.168.10.206:808/api/Token/EncryptRequestToken?appKey=12345678&appSecret=C5C5AF0C419445C16D214638358AB0C9FA7F36B1DEAEDF8B&returnUrl=AnayAuthenticate×tamp=2014-06-11 10:21&expiresTime=2014-06-11 10:21&seed=&machineId=852654235 用这个url直接post访问,能获取到数据么
西瓜米 2014-06-17
  • 打赏
  • 举报
回复
引用 6 楼 icyblood198999 的回复:
这怎么可能,这不明显带了一堆参数么?如果不用url传参,应该url仅仅是http://192.168.10.206:808/api/Token/EncryptRequestToken才对啊
我也是头一此遇到这个 搞了2天了,获得不了数据 ios说不是参数,就是一个post的url地址
icyblood198999 2014-06-17
  • 打赏
  • 举报
回复
这怎么可能,这不明显带了一堆参数么?如果不用url传参,应该url仅仅是http://192.168.10.206:808/api/Token/EncryptRequestToken才对啊
西瓜米 2014-06-17
  • 打赏
  • 举报
回复
引用 4 楼 u011598542 的回复:
没太明白你的问题。。。
也就是我上面给的一串字符串就是一个post的url地址
程大治 2014-06-16
  • 打赏
  • 举报
回复
没太明白你的问题。。。
箍心而行 2014-06-16
  • 打赏
  • 举报
回复
引用 2 楼 mujunfengplay 的回复:
[quote=引用 楼主 mujunfengplay 的回复:] 这个是url地址 只能post访问: http://192.168.10.206:808/api/Token/EncryptRequestToken?appKey=12345678&appSecret=C5C5AF0C419445C16D214638358AB0C9FA7F36B1DEAEDF8B&returnUrl=AnayAuthenticate×tamp=2014-06-11 10:21&expiresTime=2014-06-11 10:21&seed=&machineId=852654235 全部都是url地址哈 后面的不是什么参数哈。参数是没有的,做了一天了实在是弄不出来,求解啊
没得参数 ,就是一个post的url[/quote] ?appKey=12345678&appSecret=C5C5AF0C419445C16D214638358AB0C9FA7F36B1DEAEDF8B&returnUrl=AnayAuthenticate×tamp=2014-06-11 10:21&expiresTime=2014-06-11 10:21&seed=&machineId=852654235 这些都是参数 A=B 用&拼接。。。。全是带过去给前面那个地址的参数
西瓜米 2014-06-16
  • 打赏
  • 举报
回复
引用 楼主 mujunfengplay 的回复:
这个是url地址 只能post访问: http://192.168.10.206:808/api/Token/EncryptRequestToken?appKey=12345678&appSecret=C5C5AF0C419445C16D214638358AB0C9FA7F36B1DEAEDF8B&returnUrl=AnayAuthenticate×tamp=2014-06-11 10:21&expiresTime=2014-06-11 10:21&seed=&machineId=852654235 全部都是url地址哈 后面的不是什么参数哈。参数是没有的,做了一天了实在是弄不出来,求解啊
没得参数 ,就是一个post的url
箍心而行 2014-06-16
  • 打赏
  • 举报
回复
?后面的全是参数 不过最好不要用地址拼接的方式传参··

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧