关于java post get请求Demo (请求c#iis接口)
废话不多说,直接上代码
package dxq.httpGetDemo; import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder; import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener { Button btn=null;
TextView tv=null;
private Handler handler=new Handler(){
public void handleMessage(Message mes){
if(mes!=null&&mes.what==0){ tv.setText(mes.obj.toString());
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn=(Button)findViewById(R.id.get);
btn.setOnClickListener(this);
btn=(Button)findViewById(R.id.post);
btn.setOnClickListener(this);
tv=(TextView)findViewById(R.id.content);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub switch(arg0.getId()){
case R.id.get:
GetHttp();
break;
case R.id.post:
PostHttp();
break;
}
} /*
* get请求接口
* */
public void GetHttp(){
new Thread(new Runnable(){ @Override
public void run() {
// TODO Auto-generated method stub
try {
String data="data="+URLEncoder.encode("哈哈Get请求哦");
URL url=new URL("http://10.10.21.225:1106/Handler1.ashx");
HttpURLConnection connection=(HttpURLConnection)url.openConnection();
connection.setReadTimeout(5000);
connection.setRequestMethod("GET"); //请求方式 注意要大写
connection.setConnectTimeout(5000);
connection.setRequestProperty("Content-Length", String.valueOf(data.length()));
connection.setDoOutput(true);//设置true 就可以写了 connection.getOutputStream().write(data.getBytes());//写入数据
int code=connection.getResponseCode();
if(code==200){
InputStream is=connection.getInputStream();
//StreamTools.ReadStream(is);
ByteArrayOutputStream bao=new ByteArrayOutputStream();
int len=0;
byte[] buffer=new byte[1024];
while((len=is.read(buffer))!=-1){ bao.write(buffer, 0, len);
}
is.close();
Message mes=new Message();
mes.what=0;
mes.obj=bao.toString();
handler.sendMessage(mes);
bao.close();
}else{ Log.i("错误码", String.valueOf(code));
} } catch (Exception e) {
// TODO Auto-generated catch block
Log.i("异常信息", e.toString());
} } }).start(); } /*
* post请求接口
* */
public void PostHttp(){ new Thread(new Runnable(){ @Override
public void run() {
// TODO Auto-generated method stub
URL url;
try {
String data="data="+URLEncoder.encode("呵呵 post请求");
url = new URL("http://10.10.21.225:1106/Handler1.ashx");
HttpURLConnection conn=(HttpURLConnection)url.openConnection();
conn.setReadTimeout(1000);
conn.setRequestMethod("POST");//post请求 注意要大写
conn.setConnectTimeout(2000);
//conn.setRequestProperty("", newValue)
conn.setDoOutput(true);
conn.getOutputStream().write(data.getBytes());
int code=conn.getResponseCode();
if(code==200){
InputStream is=conn.getInputStream();
//StreamTools.ReadStream(is);
ByteArrayOutputStream bao=new ByteArrayOutputStream();
int len=0;
byte[] buffer=new byte[1024];
while((len=is.read(buffer))!=-1){ bao.write(buffer, 0, len);
}
is.close();
Message mes=new Message();
mes.what=0;
mes.obj=bao.toString();
handler.sendMessage(mes);
bao.close(); }else{
Log.i("结果码", String.valueOf(code));
} } catch (Exception e) {
// TODO Auto-generated catch block
Log.i("post请求异常", e.toString());
}
} }).start();
} }
2. c#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace WebApplication2
{
/// <summary>
/// Handler1 的摘要说明
/// </summary>
public class Handler1 : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
if (context.Request["data"] != null)
{
context.Response.Write("C#接口"+context.Request["data"].ToString());
return;
}
context.Response.Write("C#接口");
} public bool IsReusable
{
get
{
return false;
}
}
}
}
3. 执行结果
4. 增加一点 别忘了权限
<uses-permission android:name="android.permission.INTERNET"/>
关于java post get请求Demo (请求c#iis接口)的更多相关文章
- Java Apcahe的HTTPClient工具Http请求当请求超时重发
java Apcahe的HTTPClient工具Http请求当请求超时时底层会默认进行重发,默认重发次数为3次,在某些情况下为了防止重复的请求,需要将自动重发覆盖. 设置HTTP参数,设置不进行自动重 ...
- Java学习笔记--通过java.net.URLConnection发送HTTP请求
http://www.cnblogs.com/nick-huang/p/3859353.html 使用Java API发送 get请求或post请求的步骤: 1. 通过统一资源定位器(java.net ...
- 通过java.net.URLConnection发送HTTP请求的方法
一.前言 如何通过Java发送HTTP请求,通俗点讲,如何通过Java(模拟浏览器)发送HTTP请求. Java有原生的API可用于发送HTTP请求,即java.net.URL.java.net.UR ...
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求
Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 >>>>>>>>>>>>>>&g ...
- java异步线程池同时请求多个接口数据
一.主要使用类 . ExecutorService java线程池类 申明方式:ExecutorService exc = Executors.newFixedThreadPool(requestPa ...
- java发送post请求 ,请求数据放到body里
java利用httpclient发送post请求 ,请求数据放到body里. /** * post请求 ,请求数据放到body里 * * @author lifq * * 2017年3月15日 下午3 ...
- HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端
协议简介 协议,自然语言里面就是契约,也是双方或者多方经过协商达成的一致意见; 契约也即类似于合同,自然有甲方123...,乙方123...,哪些能做,哪些不能做; 通信协议,也即是双方通过网络通信必 ...
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求
Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求 Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 java ...
- java 模拟浏览器发送post请求
java使用URLConnection发送post请求 /** * 向指定 URL 发送POST方法的请求 * * @param url * 发送请求的 URL * @param param * 请求 ...
随机推荐
- UVA Recurrences 矩阵相乘+快速幂
题目大意: f(n) = a1 f(n - 1) + a2 f(n - 2) + a3 f(n - 3) + ... + ad f(n - d),已给递推公式,求f(n)的大小. 解题思路: n很大, ...
- _bzoj2038 [2009国家集训队]小Z的袜子(hose)【莫队】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2038 裸的莫队,注意要先移动右端点再移动左端点. #include <cstdio&g ...
- iOS判断输入的字符串是否是纯数字
主要用于判断输入到TextField的内容是不是数字,比如需要输入电话号码的时候. 网上查看了一些资料,一般都是通过协议. 以下内容来自:http://www.2cto.com/kf/201404/2 ...
- MongoDB操作简记
一.数据库操作 1.显示当前选择的数据库 [root@weekend05 ~]# mongod --dbpath /data/db/ [root@weekend05 ~]# mongo MongoDB ...
- xshell常用命令大全
xshell常用命令大全 (1)命令ls——列出文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l *. ...
- 8.JAVA-向上转型、向下转型
父子对象之间的转换分为了向上转型和向下转型,它们区别如下: 向上转型 : 通过子类对象(小范围)实例化父类对象(大范围),这种属于自动转换 向下转型 : 通过父类对象(大范围)实例化子类对象(小范围) ...
- mysql 字段包含某个字符的函数
通过sql查询语句,查询某个字段中包含特定字符串: 例子:查询e_book表的types字段包含字符串"3",有下面4种方式 select * from e_book where ...
- webpack2版本四个核心概念
webpack 是一个现代的 JavaScript 应用程序的模块打包器(module bundler) 四个核心概念: --------------------------------------- ...
- Mysql:is not allowed to connect to this MySQL server [转]
原文链接http://www.blogjava.net/acooly/archive/2008/09/17/229368.html 如果你想连接你的mysql的时候发生这个错误:ERROR 1130: ...
- Python界面编程之六----布局
布局(转载于–学点编程吧)通过实践可知采用了布局之后能够让我们的程序在使用上更加美观,不会随着窗体的大小发生改变而改变,符合我们的使用习惯. 绝对位置程序员以像素为单位指定每个小部件的位置和大小. 当 ...