httpURLConnection 请求发起post请求
常见请求头,在post请求之 前先了解一下,请求相关的基础
关于post 请求的方式比get 多了很多配置,其实大致一样,本想将get示例和post写在一起,这个博客功能有时有问题 一直在灰色的编辑框中跳不出去,只能另起一篇博客。
- private void doPost(String s) {
- try {
- // URl构建的是一上地址对象
- URL url = new URL(UrlAddress);
- // 创建一个连接
- HttpURLConnection httpURLConnection =(HttpURLConnection) url.openConnection();
- // 由于是post 请求需要配置参数
- httpURLConnection.setDoInput(true);
- httpURLConnection.setDoOutput(true);
- // 配置请求头
- httpURLConnection.setRequestMethod("POST");
- // 配置请求是否有缓存
- httpURLConnection.setDefaultUseCaches(false);
- HttpURLConnection.setDefaultRequestProperty("Accept-Charset","UTF-8");
- HttpURLConnection.setDefaultRequestProperty("Content-Type","application/x-www-form-urlencoded");
- // 配置好了尝试连接准备
- httpURLConnection.connect();
- DataOutputStream outputStream = new DataOutputStream(httpURLConnection.getOutputStream());
- // 拼接请求参数,比如条件,性别,
- String content = "set="+s;
- outputStream.write(content.getBytes());
- outputStream.flush();
- outputStream.close();
- //以下的处理和get 一样了
- if(httpURLConnection.getResponseCode() == 200){
- InputStream is =httpURLConnection.getInputStream();
- BufferedReader br = new BufferedReader(new InputStreamReader(is));
- StringBuffer Sbuffer = new StringBuffer();
- String readLine = "";
- while ((readLine = br.readLine())!=null){
- Sbuffer.append(readLine);
- }
- is.close();
- br.close();
- httpURLConnection.disconnect();
- Log.d("Text",Sbuffer.toString());
- }
- } catch (MalformedURLException e) {
- throw new RuntimeException(e);
- } catch (IOException e) {
- throw new RuntimeException(e);
- } finally {
- }
- } //dopost 方法方法结束
用 HttpPost 封装好的组件的话比较直接,但是以下方法需要在另一线程调用,
- private void doPost(String s) {
- HttpPost httpPost = new HttpPost(urlAddress + method);
- List<NameValuePair> params = new ArrayList<>();
- params.add(new BasicNameValuePair("sex", s));
- try {
- httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
- HttpResponse httpResponse = new DefaultHttpClient().execute(httpPost);
- if (httpResponse.getStatusLine().getStatusCode() == 200) {
- String result = EntityUtils.toString(httpResponse.getEntity());
- Log.d("test", result);
- } else {
- Log.d("test","failed");
- }
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- } catch (ClientProtocolException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
httpURLConnection 请求发起post请求的更多相关文章
- openresty开发系列29--openresty中发起http请求
openresty开发系列29--openresty中发起http请求 有些场景是需要nginx在进行请求转发 用户浏览器请求url访问到nginx服务器,但此请求业务需要再次请求其他业务:如用户请求 ...
- 关于java发起http请求
我们到底能走多远系列(41) 扯淡: 好久没总结点东西了,技术上没什么总结,感觉做事空牢牢的.最近也比较疲惫. 分享些东西,造福全人类~ 主题: 1,java模拟发起一个http请求 使用HttpUR ...
- [Java] 两种发起POST请求方法,并接收返回的响应内容的处理方式
1.利用apache提供的commons-httpclient-3.0.jar包 代码如下: /** * 利用HttpClient发起POST请求,并接收返回的响应内容 * * @param url ...
- java中两种发起POST请求,并接收返回的响应内容的方式 (转)
http://xyz168000.blog.163.com/blog/static/21032308201162293625569/ 2.利用java自带的java.net.*包下提供的工具类 代码如 ...
- Ajax_02之XHR发起异步请求
1.Ajax: AJAX:Asynchronous Javascript And Xml,异步的JS和XML: 同步请求:地址栏输入URL.链接跳转.表单提交-- 异步请求:使用Ajax发起,底层使用 ...
- python urllib2 发起http请求post
使用urllib2发起post请求 def GetCsspToken(): data = json.dumps({"userName":"wenbin", &q ...
- libcurl发起post请求时间延迟问题。except为空即可
最近在做团购酒店APP分享到qzone功能,使用libcurl访问qzone的分享cgi接口,酒店分享信息以POST方式传输,在测试的时候发现分享接口平均有2s的延迟,这延迟也太大了吧,于是乎问了空间 ...
- 发起post请求
string postUrl = "https://api.mch.weixin.qq.com/mmpaymkttransfers/gethbinfo"; //string req ...
- android4.0 HttpClient 以后不能在主线程发起网络请求
android4.0以后不能在主线程发起网络请求,该异步网络请求. new Thread(new Runnable() { @Override public void run() { // TODO ...
- php 使用curl发起https请求
今天一个同事反映,使用curl发起https请求的时候报错:“SSL certificate problem, verify that the CA cert is OK. Details: erro ...
随机推荐
- mysql通过binlog来恢复被删除的数据库
binlog日志 查询: MariaDB [(none)]> show variables like 'log_bin'; +---------------+-------+ | Variabl ...
- [brief]虚拟机安装UbuntuServer
1.下载Ubuntu--Server镜像官网点击 2.Vmware15.x配置 2G /boot 4G swap(一倍或两倍于分配内存量) rest / or /+/home 3.terminal下安 ...
- 如何使用Node.js、TypeScript和Express实现RESTful API服务
Node.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Express是一个保持最小规模的灵 ...
- 关于正在开发中的DjangoStarter v3版本
前言 最近做的这个项目大量使用了 python 及其相关的生态,因此自然而然选择了我的 DjangoStarter 作为后端框架 之前 v2 版本是用 RestFramework 做接口的,后面我试用 ...
- Spring扩展——Aware接口
Aware接口 在Spring中有许多的Aware接口,提供给应用开发者使用,通过Aware接口,我们可以通过set的方式拿到我们需要的bean对象(包括容器中提供的一些对象,ApplicationC ...
- 『手撕Vue-CLI』自动安装依赖
开篇 经过『手撕Vue-CLI』拷贝模板,实现了自动下载并复制指定模板到目标目录.然而,虽然项目已复制,但其依赖并未自动安装,可能需要用户手动操作,这并不够智能. 正如前文所述,我们已经了解了业务需求 ...
- json 对象属性的输出顺序测试,fastJson 有序,jackson,gson无序(需代码中人工按约定来编码)接口数据签名规则
json 对象属性的输出顺序测试,fastJson 有序,jackson,gson无序(需代码中人工按约定来编码)接口数据签名规则 fastJson会根据对象的字段的首字母来排序.而jackson,g ...
- 给你的博客加上个Live2D看板娘吧
Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` 给你的博客加上个Live2D看板娘吧 日期:2017-12 ...
- 实验12.dhcp服务器实验
实验12.dhcp服务器实验 测试DHCP服务的可用性 实验组 交换机配置 R1 interface GigabitEthernet0/0/0 ip address 192.168.1.1 255.2 ...
- 高通与At指令:基础概念
背景 在某个新基线上移植AT指令,发现有问题,因此收集了这个系列的 文章 作为 这方面的知识补充. 原文作者:laozhuxinlu,本文有删改. AT指令在产线中是一类比较重要的问题, 一天没来得及 ...