关于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 * 请求 ...
随机推荐
- MYSQL 配置远程连接
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY ...
- JAVA启动参数三:非Stable参数
前面我们提到用-XX作为前缀的参数列表在jvm中可能是不健壮的,SUN也不推荐使用,后续可能会在没有通知的情况下就直接取消了:但是由于这些参数中的确有很多是对我们很有用的,比如我们经常会见到的-XX: ...
- Qt事件系统之四:定时器事件与随机数
一.定时器事件和随机数 QTimerEvent类用来描述一个定时器事件.对于一个QObject的子类,只需要使用int QObject::startTimer ( int interval)函数来开启 ...
- 题解报告:hdu 1171 Big Event in HDU(多重背包)
Problem Description Nowadays, we all know that Computer College is the biggest department in HDU. Bu ...
- LinkedList,SortedList 基本用法
LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用. LinkedList<int> ma = new LinkedList<int>(); ...
- 463 Island Perimeter 岛屿的周长
详见:https://leetcode.com/problems/island-perimeter/description/ C++: class Solution { public: int isl ...
- 窗体WINFORM
窗体的事件:删除事件:先将事件页面里面的挂好的事件删除,再删后台代码里面的事件 Panel是一个容器 1.Label -- 文本显示工具Text:显示的文字取值.赋值:lable1.Text 2.Te ...
- Linux 之 2>&1
我们在Linux下经常会碰到nohup command>/dev/null 2>&1 &这样形式的命令.首先我们把这条命令大概分解下首先就是一个nohup表示当前用户和系统 ...
- win7电脑删除文件时一直提示文件正在被另一个程序占用
这样的情况并非是第一次遇到了,以前总是会觉得这样的问题只是电脑的错乱,重启一下电脑就好了,但是并非每次都需要重启电脑的,其实简单的设置一下,这个问题就可以解决了.对了,咱们还是说说这到底是个什么问题吧 ...
- 在SQLServer 2005附加SQLServer 2008数据库异常处理
远程服务器软件系统不算新,数据库是SQL Server 2005.本地开发基本是用新的软件系统.数据库采用SQL Server 2008. 这样在用远程服务器SQL 2005选择附加SQL 2008的 ...