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 ...
随机推荐
- C# Afroge摄像头翻转90
1.dll和命名空间就不在此列举了,如下只是将转换方法介绍: 第一个函数: public void Rotate90() { // 计算角度,类变量 //dAngle = dAngle + 90; / ...
- 开发者说PaddleOCR的.NET封装与应用部署
- VALL-EX下载介绍:只需3秒录音,即可克隆你的声音
VALL-EX是一个强大和创新的多语言文本转语音模型,支持对中文.英文和日语的语音进行合成和克隆,使用者只需上传一段3-10秒的录音,就可以生成高质量的目标音频,同时保留了说话人的声音.情感和声学环境 ...
- C++笔记(4)友元
通常情况下,公有类方法是访问类对象私有部分的唯一途径.除此之外,C++还提供了另外一种形式的访问权限:友元. 友元有三种: 友元函数 友元类 友元成员函数 通过让函数成为类的友元,可以赋予该函数与类的 ...
- itest(爱测试)开源接口测试&敏捷测试&极简项目管理 8.0.0 发布,测试重大升级
(一)itest 简介及更新说明 itest 开源敏捷测试管理,testOps 践行者,极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试,接口Mock 6合1,又有丰富的统计分析.可按测试包 ...
- C语言打印数字前补0
1.要求说明 例如有个数据为a = 0x10,要求打印输出为0x000010. 2.实现 1 #include <stdio.h> 2 3 4 int main() 5 { 6 int a ...
- journalctl 命令使用总结
转载请注明出处: journalctl 命令是 Linux 系统中一个用于查询和管理系统日志的命令行工具,它基于 systemd 的日志守护进程 systemd-journald 的功能. 1. 介绍 ...
- AtCoder Beginner Contest 357
ABC357总结 AtCoder Beginner Contest 357 A - Sanitize Hands 翻译 有一瓶消毒剂,正好可以消毒 \(M\) 双手. \(N\) 名外星人陆续前来消毒 ...
- VIP视频解析
效果图 新建窗口 import tkinter as tk# 创建一个窗口 root = tk.Tk() # 设置窗口大小 root.geometry('700x250+200+200') # 设置标 ...
- UICollectionView滑动流畅性优化
UICollectionView滑动流畅性优化 前言 初始的collection view在滑动时都是十分流畅的,然而因为collection view cell 加载更多的内容时因为主线程耗用太多性 ...