废话不多说,直接上代码

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接口)的更多相关文章

  1. Java Apcahe的HTTPClient工具Http请求当请求超时重发

    java Apcahe的HTTPClient工具Http请求当请求超时时底层会默认进行重发,默认重发次数为3次,在某些情况下为了防止重复的请求,需要将自动重发覆盖. 设置HTTP参数,设置不进行自动重 ...

  2. Java学习笔记--通过java.net.URLConnection发送HTTP请求

    http://www.cnblogs.com/nick-huang/p/3859353.html 使用Java API发送 get请求或post请求的步骤: 1. 通过统一资源定位器(java.net ...

  3. 通过java.net.URLConnection发送HTTP请求的方法

    一.前言 如何通过Java发送HTTP请求,通俗点讲,如何通过Java(模拟浏览器)发送HTTP请求. Java有原生的API可用于发送HTTP请求,即java.net.URL.java.net.UR ...

  4. Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求

    Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 >>>>>>>>>>>>>>&g ...

  5. java异步线程池同时请求多个接口数据

    一.主要使用类 . ExecutorService java线程池类 申明方式:ExecutorService exc = Executors.newFixedThreadPool(requestPa ...

  6. java发送post请求 ,请求数据放到body里

    java利用httpclient发送post请求 ,请求数据放到body里. /** * post请求 ,请求数据放到body里 * * @author lifq * * 2017年3月15日 下午3 ...

  7. HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端

    协议简介 协议,自然语言里面就是契约,也是双方或者多方经过协商达成的一致意见; 契约也即类似于合同,自然有甲方123...,乙方123...,哪些能做,哪些不能做; 通信协议,也即是双方通过网络通信必 ...

  8. Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求

    Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求   Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 java ...

  9. java 模拟浏览器发送post请求

    java使用URLConnection发送post请求 /** * 向指定 URL 发送POST方法的请求 * * @param url * 发送请求的 URL * @param param * 请求 ...

随机推荐

  1. _bzoj1036 [ZJOI2008]树的统计Count【树链剖分】

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1036 保存模版. 执行qmax与qsum操作,往上爬的时候最开始的代码出了点小问题,往上爬的 ...

  2. Java中的流(4)InputStream,InputStreamReader,BufferedReader关系

    InputStream是字节流,InputStreamReader将字节流转成字符流,BufferedReader将字符流转成字符缓冲,开始读字符. 1.InputStream.OutputStrea ...

  3. jmeter(三)参数传递

    [一]参数化 录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统. 这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不 ...

  4. 组合模式和php实现

    组合模式(有时候又叫做部分-整体模式): 将对象组合成树形结构以表示“部分整体”的层次结构.组合模式使得用户对单个对象和组合对象的使用具有一致性.它使我们树型结构的问题中,模糊了简单元素和复杂元素的概 ...

  5. LN : leetcode 343 Integer Break

    lc 343 Integer Break 343 Integer Break Given a positive integer n, break it into the sum of at least ...

  6. Vue 学习之el、template、replace和vue的生命周期 参考网址:https://segmentfault.com/a/1190000008010666

  7. springMVC返回Base64位编码图片验证码

    import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;impor ...

  8. ARM开发板如何选型-I.MX6Q开发板

    拥有丰富扩展能力,供货周期长的开发平台,省事安心   处理器:迅为-i.MX6开发板恩智浦Cortex-A9 四核i.MX6Q处理器,主频1GHz,内存2G,存储16GB. 系统支持:i.MX6开发板 ...

  9. Android(java)学习笔记188:学生信息管理系统案例(SQLite + ListView)

    1.首先说明一个知识点,通常我们显示布局文件xml都是如下: setContentView(R.layout.activity_main): 其实每一个xml布局文件就好像一个气球,我们可以使用Vie ...

  10. redis-3.0.1 sentinel 主从高可用 详细配置

    最近项目上线部署,要求redis作高可用,由于redis cluster还不是特别成熟,就选择了redis sentinel做高可用.redis本身有replication,实现主从备份.结合sent ...