常见请求头,在post请求之 前先了解一下,请求相关的基础

关于post 请求的方式比get  多了很多配置,其实大致一样,本想将get示例和post写在一起,这个博客功能有时有问题 一直在灰色的编辑框中跳不出去,只能另起一篇博客。

  1. private void doPost(String s) {
  2. try {
  3. // URl构建的是一上地址对象
  4. URL url = new URL(UrlAddress);
  5. // 创建一个连接
  6. HttpURLConnection httpURLConnection =(HttpURLConnection) url.openConnection();
  7. // 由于是post 请求需要配置参数
  8. httpURLConnection.setDoInput(true);
  9. httpURLConnection.setDoOutput(true);
  10. // 配置请求头
  11. httpURLConnection.setRequestMethod("POST");
  12. // 配置请求是否有缓存
  13. httpURLConnection.setDefaultUseCaches(false);
  14. HttpURLConnection.setDefaultRequestProperty("Accept-Charset","UTF-8");
  15. HttpURLConnection.setDefaultRequestProperty("Content-Type","application/x-www-form-urlencoded");
  16. // 配置好了尝试连接准备
  17. httpURLConnection.connect();
  18. DataOutputStream outputStream = new DataOutputStream(httpURLConnection.getOutputStream());
  19. // 拼接请求参数,比如条件,性别,
  20. String content = "set="+s;
  21. outputStream.write(content.getBytes());
  22. outputStream.flush();
  23. outputStream.close();
  24. //以下的处理和get 一样了
  25. if(httpURLConnection.getResponseCode() == 200){
  26. InputStream is =httpURLConnection.getInputStream();
  27. BufferedReader br = new BufferedReader(new InputStreamReader(is));
  28. StringBuffer Sbuffer = new StringBuffer();
  29. String readLine = "";
  30. while ((readLine = br.readLine())!=null){
  31. Sbuffer.append(readLine);
  32. }
  33. is.close();
  34. br.close();
  35. httpURLConnection.disconnect();
  36. Log.d("Text",Sbuffer.toString());
  37. }
  38.  
  39. } catch (MalformedURLException e) {
  40. throw new RuntimeException(e);
  41. } catch (IOException e) {
  42. throw new RuntimeException(e);
  43. } finally {
  44. }
  45. } //dopost 方法方法结束

  用 HttpPost   封装好的组件的话比较直接,但是以下方法需要在另一线程调用,

  1. private void doPost(String s) {
  2. HttpPost httpPost = new HttpPost(urlAddress + method);
  3. List<NameValuePair> params = new ArrayList<>();
  4. params.add(new BasicNameValuePair("sex", s));
  5.  
  6. try {
  7. httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
  8. HttpResponse httpResponse = new DefaultHttpClient().execute(httpPost);
  9.  
  10. if (httpResponse.getStatusLine().getStatusCode() == 200) {
  11. String result = EntityUtils.toString(httpResponse.getEntity());
  12. Log.d("test", result);
  13. } else {
  14. Log.d("test","failed");
  15. }
  16. } catch (UnsupportedEncodingException e) {
  17. e.printStackTrace();
  18. } catch (ClientProtocolException e) {
  19. e.printStackTrace();
  20. } catch (IOException e) {
  21. e.printStackTrace();
  22. }
  23. }

httpURLConnection 请求发起post请求的更多相关文章

  1. openresty开发系列29--openresty中发起http请求

    openresty开发系列29--openresty中发起http请求 有些场景是需要nginx在进行请求转发 用户浏览器请求url访问到nginx服务器,但此请求业务需要再次请求其他业务:如用户请求 ...

  2. 关于java发起http请求

    我们到底能走多远系列(41) 扯淡: 好久没总结点东西了,技术上没什么总结,感觉做事空牢牢的.最近也比较疲惫. 分享些东西,造福全人类~ 主题: 1,java模拟发起一个http请求 使用HttpUR ...

  3. [Java] 两种发起POST请求方法,并接收返回的响应内容的处理方式

    1.利用apache提供的commons-httpclient-3.0.jar包 代码如下: /** * 利用HttpClient发起POST请求,并接收返回的响应内容 * * @param url ...

  4. java中两种发起POST请求,并接收返回的响应内容的方式  (转)

    http://xyz168000.blog.163.com/blog/static/21032308201162293625569/ 2.利用java自带的java.net.*包下提供的工具类 代码如 ...

  5. Ajax_02之XHR发起异步请求

    1.Ajax: AJAX:Asynchronous Javascript And Xml,异步的JS和XML: 同步请求:地址栏输入URL.链接跳转.表单提交-- 异步请求:使用Ajax发起,底层使用 ...

  6. python urllib2 发起http请求post

    使用urllib2发起post请求 def GetCsspToken(): data = json.dumps({"userName":"wenbin", &q ...

  7. libcurl发起post请求时间延迟问题。except为空即可

    最近在做团购酒店APP分享到qzone功能,使用libcurl访问qzone的分享cgi接口,酒店分享信息以POST方式传输,在测试的时候发现分享接口平均有2s的延迟,这延迟也太大了吧,于是乎问了空间 ...

  8. 发起post请求

    string postUrl = "https://api.mch.weixin.qq.com/mmpaymkttransfers/gethbinfo"; //string req ...

  9. android4.0 HttpClient 以后不能在主线程发起网络请求

    android4.0以后不能在主线程发起网络请求,该异步网络请求. new Thread(new Runnable() { @Override public void run() { // TODO ...

  10. php 使用curl发起https请求

    今天一个同事反映,使用curl发起https请求的时候报错:“SSL certificate problem, verify that the CA cert is OK. Details: erro ...

随机推荐

  1. mysql通过binlog来恢复被删除的数据库

    binlog日志 查询: MariaDB [(none)]> show variables like 'log_bin'; +---------------+-------+ | Variabl ...

  2. [brief]虚拟机安装UbuntuServer

    1.下载Ubuntu--Server镜像官网点击 2.Vmware15.x配置 2G /boot 4G swap(一倍或两倍于分配内存量) rest / or /+/home 3.terminal下安 ...

  3. 如何使用Node.js、TypeScript和Express实现RESTful API服务

    Node.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Express是一个保持最小规模的灵 ...

  4. 关于正在开发中的DjangoStarter v3版本

    前言 最近做的这个项目大量使用了 python 及其相关的生态,因此自然而然选择了我的 DjangoStarter 作为后端框架 之前 v2 版本是用 RestFramework 做接口的,后面我试用 ...

  5. Spring扩展——Aware接口

    Aware接口 在Spring中有许多的Aware接口,提供给应用开发者使用,通过Aware接口,我们可以通过set的方式拿到我们需要的bean对象(包括容器中提供的一些对象,ApplicationC ...

  6. 『手撕Vue-CLI』自动安装依赖

    开篇 经过『手撕Vue-CLI』拷贝模板,实现了自动下载并复制指定模板到目标目录.然而,虽然项目已复制,但其依赖并未自动安装,可能需要用户手动操作,这并不够智能. 正如前文所述,我们已经了解了业务需求 ...

  7. json 对象属性的输出顺序测试,fastJson 有序,jackson,gson无序(需代码中人工按约定来编码)接口数据签名规则

    json 对象属性的输出顺序测试,fastJson 有序,jackson,gson无序(需代码中人工按约定来编码)接口数据签名规则 fastJson会根据对象的字段的首字母来排序.而jackson,g ...

  8. 给你的博客加上个Live2D看板娘吧

    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` 给你的博客加上个Live2D看板娘吧 日期:2017-12 ...

  9. 实验12.dhcp服务器实验

    实验12.dhcp服务器实验 测试DHCP服务的可用性 实验组 交换机配置 R1 interface GigabitEthernet0/0/0 ip address 192.168.1.1 255.2 ...

  10. 高通与At指令:基础概念

    背景 在某个新基线上移植AT指令,发现有问题,因此收集了这个系列的 文章 作为 这方面的知识补充. 原文作者:laozhuxinlu,本文有删改. AT指令在产线中是一类比较重要的问题, 一天没来得及 ...